pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by diakopter on 11 July 2007. |
|||
fax | hm | 00:02 | |
The CLOS methods are external to the classes, but they are all internal in the perl mop | 00:03 | ||
that isn't a problem? | |||
00:05
amnesiac left
00:06
theorb joined,
amnesiac joined
|
|||
avar | fax: We can pretty much do whatever we want with the lisp runtime pollution wise since we don't have to not mess things up there | 00:09 | |
pugs_svnbot | r18363 | avar++ | Implemented @*ARGS, this is required for command-line processing in kp6.p6 | 00:15 | |
diff: dev.pugscode.org/changeset/18363 | |||
lambdabot | Title: Changeset 18363 - Pugs - Trac | ||
00:17
theorbtwo left
|
|||
pugs_svnbot | r18364 | avar++ | Pass lib-kp6-mp6-p5 files through perltidy, makes things a bit slower but a lot easier to debug | 00:17 | |
diff: dev.pugscode.org/changeset/18364 | |||
lambdabot | Title: Changeset 18364 - Pugs - Trac | ||
00:23
devogon left
00:37
[particle1 joined
|
|||
pugs_svnbot | r18365 | avar++ | regened from commit 18363 | 00:37 | |
diff: dev.pugscode.org/changeset/18365 | |||
lambdabot | Title: Changeset 18365 - Pugs - Trac | ||
avar | fax: still here?:) | 00:41 | |
fax | yes | ||
reading MOP.pm | |||
What's up? | 00:42 | ||
avar | nuttn much:) | ||
I'm going to sleep soon, but I was thinking if you wanted to hack this just making this work for e.g. Array.lisp in the repl would be nice | |||
(defparameter *array* (make-instance 'kp6-Array)) | 00:43 | ||
(dispatch *array* "elems") | |||
fax | ok I'll give it a shot | 00:44 | |
00:45
justatheory left
|
|||
avar | (funcall (format nil "kp6-~a" "STORE") *array* 1 (make-instance 'kp6-Str :value "bleh")) | 00:46 | |
except with a function/symbol which I have no idea how to dynamically generate:) | |||
Or of course if CLOS is flexible enough to map the Perl 6 model there's no need for such sillyness and you can just (kp6-store ...) | 00:48 | ||
fax | kp6-store shoudl be possible I think | ||
00:49
[particle] left
00:52
[particle1 is now known as [particle]
01:00
lyokato joined
01:15
cognominal_ left
01:18
daxim_ joined
01:20
Jedai left
01:22
justatheory joined
01:23
cognominal_ joined
01:25
cognominal_ left
01:30
REPLeffect_ is now known as REPLeffect,
REPLeffect left
01:44
justatheory left
01:45
cognominal_ joined
01:59
vbattsAtWork joined
02:01
Lunchy joined
02:18
weinig left
02:23
amnesiac left
|
|||
pugs_svnbot | r18366 | fax++ | Added kp6-dispatch for Array and Hashtable in the Lisp runtime, Made emit lisp use it for array assignments. test 45-for.t now works. | 02:32 | |
diff: dev.pugscode.org/changeset/18366 | |||
lambdabot | Title: Changeset 18366 - Pugs - Trac | ||
02:32
Limbic_Region left
|
|||
avar | fax: awesome | 02:35 | |
fax | cool, this is what you meant? | ||
avar | checking it out, looks good | 02:37 | |
I had something else in mind but this is better:) | 02:38 | ||
fax: does echo 'my @rray; say @rray.elems' | perl script/kp6 -lisp | sbcl work for you? | 02:41 | ||
fax | I'm actually working on getting it to work now :) | ||
so not it doesn't | |||
avar | hehe | ||
pugs_svnbot | r18367 | avar++ | generated from last commit by fax | ||
diff: dev.pugscode.org/changeset/18367 | |||
lambdabot | Title: Changeset 18367 - Pugs - Trac | ||
fax | ah oops | 02:42 | |
I tried this time just commited the files I edited directly | |||
because last time I commited the whole folder | |||
avar | np:) | ||
I always forget the generated stuff | |||
02:43
nothingmuch joined,
kanru left
|
|||
avar | but to answer your comment yes, that should be phased out | 02:44 | |
02:45
kanru joined
|
|||
avar | well kind of.. | 02:45 | |
index/store etc should always get a kp6-Int object | |||
INDEX=>sub { | |||
my $key = ::DISPATCH(::DISPATCH($_[1],"int"),"p5landish"); | |||
return ::DISPATCH($::Cell,"new",{cell=>\$_[0]{_value}{_array}[$key]}); | |||
fax | In the let I have | 02:47 | |
(index (kp6-value (elt parameters 0))) | |||
pugs_svnbot | r18368 | fax++ | array :elem dispatch working now | ||
diff: dev.pugscode.org/changeset/18368 | |||
lambdabot | Title: Changeset 18368 - Pugs - Trac | ||
fax | To get the int value from the kp6-int | ||
avar | Because the built-in classes should be using the normal perl 6 object protocol like the p5 backend, which afaict from reading it makes things a lot easier | ||
fax: yup, that works | |||
fax | :D | ||
avar | well, .. | 02:48 | |
fax | mm something wrong with 27-array.t | ||
ah map is not implemented | 02:49 | ||
avar | I suppose it should really be (perl->cl (kp6-dispatch *array* "int") | ||
or kp6-value instead of perl->cl | |||
fax | ahh ok | ||
avar | since the "int" is telling the object to tell us its int value as opposed to fetching the slot | 02:50 | |
Which would then translate to method Int { 1337 } or some such if you compiled a funky class with int overloading | |||
(oh the overhead!) :) | 02:53 | ||
02:57
aindilis joined
03:05
elmex_ joined
|
|||
avar | `echo 'my %a; %a{"key"} = "value"; say %a{"key"}' | perl script/kp6 -lisp` is broken with this patch: sial.org/pbot/27972 , but only because the emitter does lookup-lexical-variable instead of kp6-dispatch:) | 03:05 | |
lambdabot | Title: Paste #27972 from Someone at 208.78.101.240 | ||
fax | eep yes | 03:09 | |
I was trying to figure out how :S | 03:10 | ||
avar | also instead of ' :store ' you can do ' :' ~ $node.method I think | ||
fax | to get INDEX or LOOKUP ? | 03:11 | |
avar | or no, that's wrong | ||
it should be :store | |||
It's '::DISPATCH_VAR( ' ~ $node.emit_perl5 ~ ', \'STORE\', ' ~ $.arguments.emit_perl5 ~ ' )' ~ Main::newline(); in the p5 backend | 03:12 | ||
fax | hmm | 03:18 | |
We've got, :initform (make-hash-table :test #'equal) | 03:19 | ||
Then doing, (kp6-dispatch (lookup-lexical-variable (kp6-generate-variable "%" "hash")) :lookup (make-instance 'kp6-Str :value "x")) | |||
It won't really work will it because two seperate instances cannot be equal | |||
03:19
elmex left
|
|||
fax | maybe the objects lisp data type should be hashed when it's one of string int .. | 03:20 | |
and the actual instance itself hashed otherwise? | 03:21 | ||
avar | I wrote that #'equal assuming the keys would be strings | ||
03:22
amnesiac joined
|
|||
avar | I think only strings can be hash keys, but maybe that's just perl5 | 03:22 | |
fax | ah ok, that makes it easy :) | ||
avar | but in any case it's safe to assume it for now | ||
03:23
weinig joined
03:24
vbattsAtWork left
|
|||
fax | that's hashes working now | 03:25 | |
26-hash.t has some error due to global variables though :| | |||
er ignore that, the test works fine :S | 03:26 | ||
I did echo instead of cat... :P | |||
pugs_svnbot | r18369 | fax++ | 26-hash.t now working | 03:29 | |
diff: dev.pugscode.org/changeset/18369 | |||
lambdabot | Title: Changeset 18369 - Pugs - Trac | ||
avar | awesome! | 03:30 | |
if you do prove -v -r t-lisp-exe you'll see a bunch of unimplemented dispatch stuff:) | 03:33 | ||
fax | avar: Is that all the ones where SBCL exits with fatal error? | 03:34 | |
avar | anything non-zero | ||
fax: sial.org/pbot/27973 | 03:43 | ||
lambdabot | Title: Paste #27973 from Someone at 208.78.101.240 | ||
avar | $ echo 'my %hash; %hash{"key"} = "value"; for %hash.keys -> $k { say $k }' | perl script/kp6 -lisp | sbcl | ||
Error: In #<KP6-INTERPRETER {AB0DC79}>: Function NIL not found in package GLOBAL. | 03:44 | ||
eek | |||
oh right.. | 03:45 | ||
# prefix:<@> | |||
sub prefix_58__60__64__62_ { | |||
::DISPATCH( $_[0], 'array' ) | |||
} | |||
needs that:) | |||
03:47
elmex_ left
03:48
elmex joined
|
|||
avar | needs that: sial.org/pbot/27974 | 03:50 | |
lambdabot | Title: Paste #27974 from Someone at 208.78.101.240 | ||
pugs_svnbot | r18370 | avar++ | .keys implemented | ||
diff: dev.pugscode.org/changeset/18370 | |||
avar | $ echo 'my %hash; %hash{"key"} = "value"; %hash{"key2"} = "value2"; say %hash.keys' | perl script/kp6 -lisp | sbcl | ||
lambdabot | Title: Changeset 18370 - Pugs - Trac | ||
avar | (#<FUNCTION (LAMBDA #) {A961E85}>) | ||
* key2 key | |||
..for that to work | |||
should be doing dispatch to "array" though | |||
but I'm tiiired:) | |||
fax | cool I'll play with iths | 03:51 | |
this | |||
avar | now that we have an object dispatch framework going I can add more methods and stuff:) | 03:52 | |
there's also lots of yak shaving moving stuff over, like kp6-true => (kp6-dispatch ... : true | 03:54 | ||
pugs_svnbot | r18371 | avar++ | [kp6-lisp] | 04:05 | |
r18371 | avar++ | Implemented .true on numbers | |||
diff: dev.pugscode.org/changeset/18371 | |||
lambdabot | Title: Changeset 18371 - Pugs - Trac | ||
fax | :[ | 04:28 | |
my %hash; %hash{"key"} = "value"; %hash{"key2"} = "value2"; my @rray = %hash.keys; for @rray -> $x { say $x; } | |||
that works | |||
There is some problem with for %hash.keys -> $x { say $x; } directly though | 04:29 | ||
04:45
melissa joined
04:46
melissa left,
melissa joined
05:03
zamolxes joined
05:08
funktio joined
05:09
Ashizawa joined
05:41
Aankhen`` joined
05:54
nipra joined
06:07
nipra_ joined
06:19
devogon joined
|
|||
diotalevi | Does the JavaScript engine still work? Can I write perl 5 code and run it on a JavaScript interpreter? | 06:21 | |
06:23
c9s joined
06:24
nipra left
06:41
drbean joined
06:52
cnhacktnt joined,
jisom_ joined
06:53
cnhacktnt left
06:55
cnhackTNT joined
06:58
iblechbot joined
07:00
miyagawa joined
07:01
cnhackTN1 joined
07:04
Jedai joined
07:09
jisom left
07:12
franck___ joined
07:15
cnhackTNT left
07:16
gorax joined
07:17
jisom_ is now known as jisom
07:20
miyagawa left
07:26
IllvilJa left
07:27
amnesiac left
07:36
mr_ank joined
07:43
masak joined
07:55
rgs joined
07:58
fax left
08:12
lyokato left
08:15
lyokato joined
|
|||
moritz_ | diotalevi: no, it doesn't, and I think it never worked with p5 | 08:19 | |
08:21
dduncan left
08:23
arrowax joined
08:30
thoughtpolice left
08:32
REPLeffect_ joined
08:37
Daveman left
08:38
REPLeffect_ left
09:06
scent left
09:13
IllvilJa joined
09:15
fax joined
09:16
lichtkind joined
09:17
IllvilJa left
09:24
fglock joined
09:27
IllvilJa joined
09:30
jisom left
09:52
penk left
10:09
SCalimlim left
10:11
penk joined
10:14
ruoso joined
10:34
Ashizawa left
10:37
cnhackTN1 left
|
|||
fax | What is prefix:<@> supposed to do? | 10:42 | |
(in kp6, global.lisp ) | |||
10:49
lichtkind_ joined
|
|||
pugs_svnbot | r18372 | fax++ | minor fixes for hashtables, got "for %h.keys -> $x" working | 10:52 | |
diff: dev.pugscode.org/changeset/18372 | |||
lambdabot | Title: Changeset 18372 - Pugs - Trac | ||
moritz_ | fax: could you please use [kp6] in your commit messages? | 10:54 | |
fglock | fax: "@" calls the argument in list context | ||
fax | moritz_: of course, sorry | ||
moritz_ | fglock: shouldn't that be @( ... )? | ||
10:54
iblechbot left
|
|||
fglock | yes, same operation | 10:55 | |
prefix:<@>( ... ) | 10:56 | ||
10:56
devogon left
|
|||
moritz_ | ok, I didn't knew that it works without the parenthesis | 10:56 | |
10:57
devogon joined,
cognominal left,
cognominal_ left
|
|||
pugs_svnbot | r18373 | fax++ | [kp6] added Hash keys and renamed for-loop-structure macro | 11:04 | |
diff: dev.pugscode.org/changeset/18373 | |||
lambdabot | Title: Changeset 18373 - Pugs - Trac | ||
11:05
penk left
|
|||
moritz_ | fax++ # kp6 hacking | 11:05 | |
11:06
lichtkind left
11:07
chris2 joined
|
|||
fglock | kp6: my $a = [1,2,3]; for prefix:<@>( $a ) -> $item { say "$item, " }; | 11:14 | |
exp_evalbot | r18373: OUTPUT[1, ā¤2, ā¤3, ā¤] | ||
moritz_ | kp6: my @a = (1, 2, 3); | 11:15 | |
exp_evalbot | r18373: OUTPUT[syntax error at position 6, line 1 column 6:ā¤my @a = (1, 2, 3)ā¤ ^ HEREā¤] | ||
moritz_ | kp6: my @a = [1, 2, 3]; | ||
exp_evalbot | r18373: OUTPUT[[ 1, 2, 3 ]ā¤] | ||
moritz_ | kp6: my @a = [1, 2, 3]; for @a -> $i { say $i } | ||
exp_evalbot | r18373: OUTPUT[1ā¤2ā¤3ā¤] | ||
moritz_ | kp6: my $a = [1, 2, 3]; for $a -> $i { say $i } | 11:16 | |
exp_evalbot | r18373: OUTPUT[1ā¤2ā¤3ā¤] | ||
fglock | this one is broken atm | ||
moritz_ | fglock: should it put a hash ref in $i in the first iteration? | 11:17 | |
11:19
lyokato left
11:22
f0rth joined
|
|||
fglock | array ref, yes | 11:23 | |
11:50
iblechbot joined
12:06
onebadoze joined
12:12
iblechbot left
12:13
weinig_ joined
12:20
zamolxes left,
zamolxes joined
12:27
cognominal_ joined,
weinig left
12:34
cmarcelo joined
12:43
lichtkind_ is now known as lichtkind
12:50
Khisanth joined
12:52
khisanth_ joined,
khisanth_ left
12:53
pmurias joined
12:54
gorax left,
scent joined
13:00
iblechbot joined
13:10
scent left,
yhsuan joined
13:11
penk joined
13:34
daxim_ left
|
|||
pmurias | fglock: the problem with test 50 is that methods autothread on the invocant | 13:38 | |
it's currently indistinguishable from the first argument | 13:39 | ||
diotalevi | moritz_, thanks. I'm bummed now. | 13:41 | |
13:45
polettix joined
|
|||
pmurias | diotalevi: you need to port something to javascript? | 13:47 | |
diotalevi | pmurias, I've got an app that would be nice to export out to a browser. | ||
I had a wild idea that it would be ultra-spiffy to deparse my perl 5 code to JS and it would just work because everyone knows pugs hackers have awesome stacks. | 13:50 | ||
pugs_svnbot | r18374 | ruoso++ | [yap6] added a new test for the reference counting... | 13:53 | |
diff: dev.pugscode.org/changeset/18374 | |||
fglock | pmurias: yes; i'm not sure if you can call methods on junctions or not | ||
lambdabot | Title: Changeset 18374 - Pugs - Trac | ||
moritz_ | diotalevi: pugs uses an embedded perl5 to interpret Perl 5 | ||
fglock | so not sure how to fix it | 13:54 | |
moritz_ | 5A | ||
sorry | |||
13:54
TJCRI joined
|
|||
fglock | diotalevi: when do you need it? | 13:55 | |
diotalevi | You're asking me a scheduling question about pie in the sky software? | 13:56 | |
I'm confused see, you say that as if you could pull this magic rabbit out of your hat. | 13:59 | ||
fglock | pugs: (1|2|3).perl | ||
exp_evalbot | OUTPUT["(1 | 2 | 3)"ā¤] | ||
fglock | kp6: (1|2|3).perl | 14:00 | |
exp_evalbot | r18374: OUTPUT[no method 'perl' in Class 'Junction'ā¤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 130ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x85...', 'perl') called at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 36ā¤ | ||
..main::DISPATCH('KindaPerl6::Runtime::Perl5::DispatchSugar::Dispat...] | |||
fglock | it depends on how complex you Perl 5 program is | 14:01 | |
if it maps cleanly to javascript, it should not be too difficult | |||
getting emulation right is hard | 14:02 | ||
fglock puts the hat back in head | |||
pmurias | fglock: i think you are allowed to call method on junctions | 14:03 | |
diotalevi | It's an OO component. I'm sure it'd require much finagling to automatically translate. | ||
pmurias | line 836, S12 | 14:04 | |
fglock | pmurias: ok | 14:05 | |
diotalevi: I've got this idea that we could have platform-specific versions of Perl 6. This was the motivation for MiniPerl6, which was mapped to Perl 5 | 14:09 | ||
14:09
IllvilJa left
|
|||
fglock | otoh, KindaPerl6 can work as a desugaring layer | 14:11 | |
pmurias | fglock: subsets of perl which would map directly to a given language? | ||
fglock | mapping things that need emulation into the low-level vm | ||
pmurias: yes | |||
pmurias | things wouldn't be portable between different implementations | 14:12 | |
fglock | That's kp6 job, to add enough emulation | 14:13 | |
diotalevi shrugs. | |||
fglock | so you have a choice | ||
nqp works like that too, I guess | 14:14 | ||
for the Parrot platform | |||
14:15
weinig_ left
|
|||
fglock | so MiniPerl6-javascript would be different from MiniPerl6-java, but they are as fast as they can be in the specific platform | 14:15 | |
14:16
weinig joined
|
|||
fglock | and you can use KindaPerl6 if you care more about features and compatibility | 14:16 | |
avar | who's working on bootstrap these days? anyone? | 14:18 | |
pmurias | avar: the grammar in the bootstraped compiler are too slow | 14:19 | |
* grammars | |||
fglock | we could use the per5rx backend for regexes, but then it depends on what you mean by bootstrapping | 14:21 | |
avar | pmurias: that can be sped up with a better emitter | 14:22 | |
fglock | avar: i think this could lead to premature optimizations | 14:24 | |
14:25
buubot joined
|
|||
avar | I'm just saying it doesn't matter if the grammar is slow, the bootstrap is the important part | 14:25 | |
It can be sped up later | |||
pmurias | avar: the rule engine is the problem | 14:26 | |
avar: the bootstrap compilers take enormous amounts of time to compile even the simplest things | 14:27 | ||
fglock | it depends on how you implement it | 14:28 | |
avar | ls -l | ||
pmurias | making testing impractical | ||
fglock | the portable rule engine is slow | ||
but the perl5rx one is usable | |||
avar | and the -lisp one will be faaastah:) | 14:29 | |
pmurias: but things pretty much work aside from being slow? | 14:30 | ||
14:33
vbattsAtWork joined,
scent joined,
wilx joined
|
|||
avar | "KindaPerl6/Runtime/Perl6/Pair.pm did not return a true value at lib-kp6-kp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 823." | 14:34 | |
fglock | hmm - junctions don't autothread in say() in pugs - I wonder what makes it autothread or not | 14:35 | |
pugs_svnbot | r18375 | ruoso++ | [yap6] a test describing how threads can ensure that the value will not vanish while they are using it | ||
diff: dev.pugscode.org/changeset/18375 | |||
lambdabot | Title: Changeset 18375 - Pugs - Trac | ||
ruoso | fglock, take a look at that ^ | ||
fglock | k | ||
pmurias | pugs: say 1 & 2 | 14:37 | |
exp_evalbot | OUTPUT[all(VInt 1,VInt 2)ā¤] | ||
ruoso | home & | 14:38 | |
pmurias | avar: a bit | ||
ruoso going to sevilla | |||
14:39
ruoso left
14:51
DarkWolf84 joined
15:07
marmic joined
15:09
amnesiac joined
15:15
audreyt_ is now known as audreyt
|
|||
fglock | reading S09 on junctions | 15:18 | |
15:21
barney joined
15:22
weinig left
15:46
funktio left
15:52
cathya joined
16:00
REPLeffect_ joined,
REPLeffect_ is now known as REPLeffect
|
|||
avar | Aankhen``: have you seen the new stuff in kp6-lisp? | 16:00 | |
16:01
daxim joined
16:07
Daveman joined
16:13
barney left
|
|||
fglock | avar: can the kp6-kp6 compilation be made optional? | 16:14 | |
I'm trying to find out how to do it | 16:15 | ||
avar | it worked before I screwed it up somehow | 16:16 | |
it *should* work | |||
no wait, it shouldn't | 16:18 | ||
fglock: does kp6-kp6 compile for you? I just get errors | 16:22 | ||
fglock | it doesn't, but it used to compile a week or so ago | 16:23 | |
avar | I'm pretty sure I didn't screw that up.. | ||
Well maybe I did | |||
pugs_svnbot | r18376 | avar++ | make kp6_mp6 work again, pure_all included the kp6_kp6 targets, removed along with manifypods | ||
diff: dev.pugscode.org/changeset/18376 | |||
lambdabot | Title: Changeset 18376 - Pugs - Trac | ||
cathya | how insecure are passwords? | 16:25 | |
in general | |||
even if they are encrypted | |||
avar | uh, what? | 16:26 | |
cathya | as in passwords are sufficient but end of the day they are insecure arent they | ||
passwords are always insecure arent they? encryptioon could solve the problem but encryption only stops them, from say, getting a dump of your database and dispaying the cleartext passwords. it doesn't stop someone from calling you, protending to be the boss, and asking for a password reset\ | 16:27 | ||
so whats an alternative? | |||
moritz_ | cathya: an alternative are fingerprint sensors, voice recogntion | 16:28 | |
it always depends on how paranoid you are and how much you are willing to pay for your security | 16:29 | ||
allbery_b | there's always some variation on rubber-hose cryptography | ||
people have been known to make casts or even cut off fingertips (!) to deal with fingerprint sensors | 16:30 | ||
in the end, the only truly secure system is one that's been encased in steel and then reinforced concrete and dumped into the Marianas Trench | 16:31 | ||
moritz_ | that's why you use multi factor authentification if you have to have real security | ||
avar walks away in confusion | 16:32 | ||
allbery_b | the correct way to think about security is in terms of risk management. rephrase it as an accounting risk or an actuarial problem | ||
16:35
justatheory joined
16:41
weinig joined,
weinig_ joined
16:47
cathya left
|
|||
TimToady | fglock: say has list arguments, which don't autothread. It's basically the MMD dispatcher that ends up autothreading when it notices that certain positional arguments don't match Any but do match Junction | 16:52 | |
16:54
chris2 left
16:57
weinig left,
barney joined
|
|||
pmurias | TimToady: can subs take an invocant? sub f($invocant:$arg1,$arg2,$arg3) {}? | 17:00 | |
17:05
franck___ left
|
|||
TimToady | not exactly | 17:16 | |
a sub isn't declared with an invocant, so can't take one | |||
however | |||
a method can be called as a sub if you have a reference to it | 17:17 | ||
in which case the invocant is just the first positional argument | |||
which is how dispatchers call methods | |||
though perhaps the invocant form could be allowed for such a call. | 17:18 | ||
and, indeed, if you're going to bind a Capture at that point, it has an invocant slot already | |||
so possibly the invocant syntax is mandatory on such a call. | 17:19 | ||
fglock | TimToady: ok, thanks | 17:20 | |
TimToady | mostly we just try to keep methods and subs distinct, but of necessity a dispatcher has to treat methods more like normal subs | 17:21 | |
fglock | re MMD, does it mean "only" doesn't autothread? | ||
TimToady | an "only" would fail to bind a junction to an Any, and perhaps failover to autothreading | 17:22 | |
if the "only" dispatcher is just a degenerate case of MMD then it happens automatically | |||
but the rationale for "only" is to allow optimization | 17:23 | ||
17:23
Psyche^ joined
|
|||
TimToady | so it's likely to bypass MMD entirely | 17:23 | |
but it could still fail to bind | |||
does that make sense? | 17:24 | ||
fglock | yes | 17:25 | |
TimToady | but it was an excellent question | ||
17:25
IllvilJa joined
|
|||
TimToady | bbl & | 17:26 | |
Aankhen`` | avar: Yup. | 17:32 | |
fglock | a video on STM video.google.com/videoplay?docid=54...9822665187 | 17:34 | |
lambdabot | Title: Software Transactional Memory | ||
avar | Aankhen``: whee | 17:37 | |
17:37
carsten joined
|
|||
avar | Aankhen``: like where it's going? | 17:37 | |
17:39
Patterner left,
Psyche^ is now known as Patterner
17:45
penk left
|
|||
Aankhen`` | avar: I'm not sure yet. :-) | 17:48 | |
avar | Aankhen``: You don't have a choice:) | 17:49 | |
Aankhen`` | avar: I noticed. :-P | ||
pugs_svnbot | r18377 | avar++ | [kp6-lisp] class If {} is now kp6-dispatch to 'true' and 'cl-landish' like the perl 5 backend, if (1) {} works but something else is probably broken | ||
diff: dev.pugscode.org/changeset/18377 | |||
lambdabot | Title: Changeset 18377 - Pugs - Trac | ||
Aankhen`` | You guys are probably on the right track, though. | ||
avar | yes, basically we're (re-)writing the built-in classes in the p5 metamodel | 17:50 | |
Aankhen`` nods. | |||
avar | and since clos is awesome we don't have to write our own object system while we're at it | ||
Aankhen``: want to implement methods?:) | 17:53 | ||
t/kp6/21-oo.t | |||
Aankhen`` | Not particularly | ||
ā¦ had a long day and I need to relax. | |||
Stupid Enter key. | |||
avar | <enter key> stupid enter key operator | ||
fglock | @tell ruoso www.cl.cam.ac.uk/research/srg/netos/lock-free/ | ||
lambdabot | Consider it noted. | ||
Aankhen`` giggles. | 17:54 | ||
17:54
polettix left
|
|||
avar | Array.lisp has some lameness, lisp arrays croak if you access undefined indexes and it's not always extending itself correctly | 17:56 | |
Aankhen`` | The first should be easy to fix. Wrap the contents of KP6-LOOKUP in a HANDLER-CASE for bad indexes that wraps it in a KP6-ERROR form. | 17:57 | |
avar | (defmethod kp6-dispatch ((invocant kp6-Array) (method (eql :lookup)) &rest parameters) | 17:58 | |
(defmethod kp6-dispatch ((invocant kp6-Array) (method (eql :lookup)) &rest parame "Retrieve a value from the array" | |||
(assert (= 1 (length parameters))) | |||
(let* ((index (perl->cl (elt parameters 0))) | |||
(dimension (array-dimension (kp6-value invocant) 0))) | |||
(if (> dimension (1+ index)) | |||
; This is beyond the size of the array, so it's undef | |||
(make-instance 'kp6-Undef) | |||
(progn | |||
(let ((value (elt (kp6-value invocant) index))) | |||
; If it's 0(bit) it hasn't been set yet, so undef | |||
(if (typep value 'bit) | |||
(make-instance 'kp6-Undef) | |||
value)))))) | |||
:) | |||
doesn't even work:) | |||
But I'm more interested in refactoring atm | |||
Aankhen`` | Heh. | ||
17:59
cognominal_ left
|
|||
avar | a lot of stuff like coerce.lisp will be obsolete in favor of telling the object to coerce itself | 18:00 | |
anyway, gone | 18:01 | ||
18:13
weinig joined
|
|||
pugs_svnbot | r18378 | fglock++ | [kp6] lazier Array | 18:16 | |
diff: dev.pugscode.org/changeset/18378 | |||
lambdabot | Title: Changeset 18378 - Pugs - Trac | ||
fglock | kp6: my @a; @a[100000000000]; say "still here" | ||
exp_evalbot | r18377: OUTPUT[Modification of non-creatable array value attempted, subscript -2147483648 at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/Array.pm line 17.ā¤] | ||
18:17
_go_ joined
|
|||
fglock | kp6: my @a; @a[2147483640]; say "still here" | 18:17 | |
exp_evalbot | r18377: OUTPUT[Out of memory during array extend at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/Array.pm line 17.ā¤] | ||
18:17
carsten left
|
|||
fglock | kp6: my @a; @a[2147483640]; say "still here" | 18:18 | |
exp_evalbot | r18378: OUTPUT[still hereā¤] | ||
fglock | home & | 18:19 | |
18:28
blindfish joined
18:29
weinig_ left,
Torment joined
18:32
jisom joined
18:41
fglock left
18:46
Jedai left
18:51
weinig left
18:54
stevan_ joined
19:05
yhsuan left,
polettix joined
19:10
falesca_ joined
19:15
xinming joined
|
|||
pugs_svnbot | r18379 | avar++ | [kp6-lisp] Implemented prefix:<!> | 19:16 | |
diff: dev.pugscode.org/changeset/18379 | |||
lambdabot | Title: Changeset 18379 - Pugs - Trac | ||
19:20
rindolf joined
|
|||
pugs_svnbot | r18380 | avar++ | [kp6-lisp] .true works on Bit | 19:25 | |
r18381 | avar++ | [kp6-lisp] Fixed .true on Bit, use (not (null)) | |||
diff: dev.pugscode.org/changeset/18381 | |||
lambdabot | Title: Changeset 18381 - Pugs - Trac | ||
19:29
pmurias left
19:33
zostay_ joined
19:37
barney left
|
|||
pugs_svnbot | r18382 | avar++ | [kp6-lisp] use kp6-dispatch :true not kp6-true | 19:37 | |
r18383 | avar++ | Use (kp6-dispatch (kp6-dispatch :true) :cl-landish) instead of kp6-true) | |||
diff: dev.pugscode.org/changeset/18383 | |||
lambdabot | Title: Changeset 18383 - Pugs - Trac | 19:38 | |
19:38
jisom left
19:39
penk joined
19:43
shlomif joined
|
|||
TimToady | if there are any lambdacamels listening in, I would be ecstatic if someone with some Haskell-fu hacked an interface to Chris Kuklewicz's regex-tdfa into pugs. | 19:53 | |
[particle] wonders where gaal shuffled off to... | 19:58 | ||
TimToady | bed, probably... | 19:59 | |
[particle] | quitter! | ||
20:01
rindolf left
|
|||
pugs_svnbot | r18384 | avar++ | [kp6-true] nuked kp6-true, port to the metamodel in progress... | 20:05 | |
diff: dev.pugscode.org/changeset/18384 | |||
20:05
weinig joined
|
|||
lambdabot | Title: Changeset 18384 - Pugs - Trac | 20:05 | |
pugs_svnbot | r18385 | avar++ | [kp6-lisp] nuked kp6-true, port to the metamodel in progress... | 20:08 | |
diff: dev.pugscode.org/changeset/18385 | |||
lambdabot | Title: Changeset 18385 - Pugs - Trac | ||
20:08
TJCRI left,
weinig_ joined
|
|||
pugs_svnbot | r18386 | avar++ | [kp6-lisp] Removed the kp6-true generic function, can you make generics with argument checks like the new :true stuff? | 20:08 | |
diff: dev.pugscode.org/changeset/18386 | |||
lambdabot | Title: Changeset 18386 - Pugs - Trac | ||
20:11
ahmadz joined
|
|||
pugs_svnbot | r18387 | avar++ | [kp6-true] nuked kp6-true. Implemented .str, "0" is also false (should | 20:11 | |
r18387 | avar++ | the string be numified or what?) | |||
r18388 | avar++ | [kp6-true] nuked kp6-true, port to the metamodel in progress... | |||
r18389 | avar++ | [kp6-true] nuked kp6-true, port to the metamodel in progress... | |||
diff: dev.pugscode.org/changeset/18389 | |||
lambdabot | Title: Changeset 18389 - Pugs - Trac | ||
ahmadz | hi | ||
avar | ahmadz: hi | 20:12 | |
pugs_svnbot | r18390 | avar++ | [kp6-true] removed kp6-true from the package export *boom* | ||
diff: dev.pugscode.org/changeset/18390 | |||
lambdabot | Title: Changeset 18390 - Pugs - Trac | ||
20:13
masak left
20:14
weinig_ left
|
|||
pugs_svnbot | r18391 | avar++ | [kp6-lisp] Made a TODO saying this stuff needs to die commented out | 20:14 | |
r18391 | avar++ | the stuff using kp6-true. Some of this might need to be rewritten. | |||
diff: dev.pugscode.org/changeset/18391 | |||
lambdabot | Title: Changeset 18391 - Pugs - Trac | ||
ahmadz | avar: i need to write a better p6 syntax highliter, where can i find the lexical grammar in the code? | ||
avar | wat | ||
^^ comment on acid | 20:15 | ||
ahmadz: lexical grammar? | |||
ahmadz | avar: sorry, i need to find the language's grammar so i could write a faster syntax highliter that does not depend on regexps | 20:16 | |
avar | how do you plan to use the highlighter? inside some program? stand-alone? | ||
ahmadz | for now im using the syntax highlighter plugin that i wrote for code.google.com/p/syntaxhighlighter/ | 20:18 | |
lambdabot | Title: syntaxhighlighter - Google Code | ||
ahmadz | but i need to write a cpan module so i could do at the server-side | ||
so far, Javascript is pretty slow on regexp and has about 10-15 secs of browser-timed execution time | 20:19 | ||
avar | there are some grammars that /parse/ p6 but to syntax highlight you also need info saying where it found the tokens, I don't think any grammar for p6 does that atm | ||
ahmadz | hmmm | 20:20 | |
20:20
weinig_ joined
|
|||
ahmadz | i could start it with simple examples/* and evolve it from there | 20:22 | |
so what's the status of EmitLisp so far? ;-) | 20:23 | ||
avar | we're rolli'n! | ||
ahmadz | cool | 20:24 | |
avar | We have a working object model thanks to fax++ which I'm porting stuff to atm | ||
20:24
weinig left
|
|||
avar | Then we need methods and other objecty-stuff and then we pretty much have everything | 20:24 | |
ahmadz | and then? ;-) | ||
avar | world domination, duh! | 20:25 | |
20:32
thoughtpolice joined
20:37
ahmadz left
20:44
zostay_ is now known as zostay
|
|||
avar | u.nix.is/p6-dev.png :) | 20:45 | |
20:46
xinming left
|
|||
fax | I'm baffled by that avar | 20:52 | |
avar | by what? | 20:53 | |
fax | (make-instance 'kp6-array :value <how can I list go here?>) | ||
in hash-keys | |||
avar | a list? | 20:54 | |
pugs_svnbot | r18392 | avar++ | [kp6-lisp] | ||
r18392 | avar++ | * slot-value instead of kp6-value (oh, that's another thing being nuked these days) | |||
r18392 | avar++ | * Implemented metamodel versions of .exists, .delete, clear | |||
r18392 | avar++ | * Added some comments explaining the use of #'equal and the functions that are only used internally | |||
diff: dev.pugscode.org/changeset/18392 | |||
lambdabot | Title: Changeset 18392 - Pugs - Trac | ||
avar | fax: Feel like hacking?:) | 20:55 | |
fax | yeah | 20:56 | |
in the screenshot though.. it looks like (kp6-dispatch *hash* :pairs) worked.. | 20:57 | ||
20:57
shlomif is now known as rindolf
|
|||
avar | it did | 20:57 | |
20:57
rindolf left
|
|||
avar | it returns an array, see last commit | 20:58 | |
20:58
arrowax left
|
|||
avar | fax: I have an in-progress patch to array which sucks, but the general bug needs to be fixed | 20:58 | |
patch -> sial.org/pbot/27990 | |||
lambdabot | Title: Paste #27990 from Someone at 208.78.101.240 | ||
fax | oh what is the bug? | ||
avar | the problem is that lisp arrays don't auto extend, so my @rray; @rray[666] croaks | 20:59 | |
cat t/kp6/35-undef.t | perl script/kp6 -lisp | sbcl | |||
Error: The index 666 is too large. | |||
like I said the patch sucks, but the case of an index out of bounds being looked up/assigned to needs to be handled (return undef / extend the array) | 21:00 | ||
fglock commited something for the p5 backend which makes those arrays lazy so @a[10000000000] = doesn't consume ungodly amounts of memory. I think | 21:01 | ||
or do whatever and don't listen to me:) | |||
fax | well see kp6-dispatch ((invocant kp6-Hash) (method (eql :pairs)) | 21:03 | |
which does (make-instance 'kp6-Array :value (let ...)) | |||
that let returns a list but kp6-array treats it as an array internally I think | 21:04 | ||
21:04
blindfish left
|
|||
avar | it's just (make-instance 'kp6-Array :value '("some" "values" "here")) | 21:05 | |
I don't get your point but maybe I'm being terse | |||
fax | It seems like if you called kp6-dispatch :elems on that array, for example.. it will call array-dimension on '("some" "values" "here") and choke | 21:06 | |
avar | oh we're talking about Array.lisp not Hash.lisp. If you're saying there's something wrong with my Array.lisp code you're almost certainly right | 21:07 | |
It was written in a mindset where I was having trouble figuring out the functionality of the <= and >= functions:) | 21:08 | ||
fax | ah this explains it | ||
avar | :) | 21:09 | |
pasteling | "fax" at 137.195.250.2 pasted "hash table make array with list" (20 lines, 747B) at sial.org/pbot/27991 | ||
avar | hrm | 21:11 | |
fax | just commited a fix | ||
pugs_svnbot | r18393 | fax++ | [kp6-lisp] small modification to Hash.lisp kp6-dispatch :pairs | ||
diff: dev.pugscode.org/changeset/18393 | |||
lambdabot | Title: Changeset 18393 - Pugs - Trac | ||
fax | do you think that's ok? another way would be to make-array :initial-contents <the list from before> | 21:12 | |
pasteling | "fax" at 137.195.250.2 pasted "alternative" (12 lines, 528B) at sial.org/pbot/27992 | 21:14 | |
21:14
iblechbot left
|
|||
avar | no I think it's better like you commited it, then the kp6-array class takes care of constructing the array from a list | 21:17 | |
21:18
Notrix joined
21:20
weinig joined
|
|||
pugs_svnbot | r18394 | avar++ | Lit::Hash works again using (kp6-dispatch) | 21:32 | |
diff: dev.pugscode.org/changeset/18394 | |||
21:33
weinig_ left
|
|||
lambdabot | Title: Changeset 18394 - Pugs - Trac | 21:33 | |
21:35
thoughtpolice left
21:41
Aankhen`` left,
justatheory left
21:52
weinig left
21:58
elmex left
22:00
lichtkind left
22:01
falesca_ left
22:05
justatheory joined
22:06
DarkWolf84 left,
DarkWolf84 joined
22:09
Notrix left
22:16
weinig joined
22:25
Schwern joined
22:31
amnesiac left
22:37
cmarcelo left
22:55
weinig_ joined
22:57
vbattsAtWork left
22:58
weinig left
22:59
weinig joined
23:01
theorb left
23:02
cognominal_ joined
|
|||
pugs_svnbot | r18395 | avar++ | oh noes tabs | 23:02 | |
diff: dev.pugscode.org/changeset/18395 | |||
lambdabot | Title: Changeset 18395 - Pugs - Trac | ||
fax | eek O_o | 23:03 | |
that was my fault! | |||
I swear I configured my editor to not do that.. | |||
anyway sorry, I'll find the cause of that | 23:04 | ||
avar | et tu fax? | ||
fax | (setq-default indent-tabs-mode nil) | 23:11 | |
:D | |||
somehow that was uncommented | |||
23:16
weinig_ left
23:23
thoughtpolice joined
|
|||
avar | fax: were you hacking array.lisp? | 23:35 | |
i.e. anything uncommited atm | |||
fax | no | 23:36 | |
23:44
rrohbeck joined
23:46
jjore-1 left
23:48
rrohbeck left
23:56
weinig left
23:57
devogon left,
devogon joined
|