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