Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-10-02

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 bsb joined #perl6
00:05 theorb joined #perl6
00:13 hoelzro left #perl6
00:25 nekokak joined #perl6
00:40 elmex joined #perl6
00:40 TimToady joined #perl6
00:40 nekokak joined #perl6
00:40 theorb joined #perl6
00:40 bsb joined #perl6
00:40 Caelum joined #perl6
00:40 Limbic_Region joined #perl6
00:40 mr_ank joined #perl6
00:40 drupek12 joined #perl6
00:40 REPLeffect joined #perl6
00:40 dduncan joined #perl6
00:40 justatheory joined #perl6
00:40 Patterner joined #perl6
00:40 felipe joined #perl6
00:40 nothingmuch joined #perl6
00:40 f0rth joined #perl6
00:40 jeffreykegler joined #perl6
00:40 rfordinal joined #perl6
00:40 ruoso joined #perl6
00:40 r0bby joined #perl6
00:40 daxim_ joined #perl6
00:40 GeJ joined #perl6
00:40 drbean joined #perl6
00:40 araujo joined #perl6
00:40 spinclad joined #perl6
00:40 [particle] joined #perl6
00:40 lisppaste3 joined #perl6
00:40 SamB joined #perl6
00:40 ofer joined #perl6
00:40 hakobe joined #perl6
00:40 kcwu joined #perl6
00:40 marmic joined #perl6
00:40 Southen joined #perl6
00:40 pjcj_ joined #perl6
00:40 Daveman joined #perl6
00:40 rgs joined #perl6
00:40 nipra joined #perl6
00:40 mncharity joined #perl6
00:40 audreyt joined #perl6
00:40 stevan_ joined #perl6
00:40 ting joined #perl6
00:40 tewk joined #perl6
00:40 thepler joined #perl6
00:40 mj41 joined #perl6
00:40 simias joined #perl6
00:40 Helios- joined #perl6
00:40 diakopter joined #perl6
00:40 pnu joined #perl6
00:40 cls_bsd joined #perl6
00:40 diotalevi joined #perl6
00:40 lumi joined #perl6
00:40 falesca joined #perl6
00:40 zamolxes_ joined #perl6
00:40 jrockway joined #perl6
00:40 bloonix joined #perl6
00:40 baest joined #perl6
00:40 Khisanth joined #perl6
00:40 buubot joined #perl6
00:40 idiotmax joined #perl6
00:40 meppl joined #perl6
00:40 cerridwyn joined #perl6
00:40 sri_ joined #perl6
00:40 dvorak joined #perl6
00:40 sunnavy joined #perl6
00:40 Kattana joined #perl6
00:40 rafl joined #perl6
00:40 dwave joined #perl6
00:40 shmem joined #perl6
00:40 broquaint joined #perl6
00:40 perlbot joined #perl6
00:40 beppu joined #perl6
00:40 PerlJam joined #perl6
00:40 ingy joined #perl6
00:40 yves joined #perl6
00:40 knewt joined #perl6
00:40 rhr joined #perl6
00:40 toshinori joined #perl6
00:40 pugs_svnbot joined #perl6
00:40 jernster joined #perl6
00:40 wolverian joined #perl6
00:40 zostay joined #perl6
00:40 dalek joined #perl6
00:40 Juerd joined #perl6
00:40 wilx joined #perl6
00:40 tcliou joined #perl6
00:40 Lunchy joined #perl6
00:40 orafu joined #perl6
00:40 jBoofy joined #perl6
00:40 takanori_ joined #perl6
00:40 ft joined #perl6
00:40 revdiablo joined #perl6
00:40 SubStack joined #perl6
00:40 cj joined #perl6
00:40 szbalint joined #perl6
00:40 exp_evalbot joined #perl6
00:40 Gothmog_ joined #perl6
00:40 Grrrr joined #perl6
00:40 moritz_ joined #perl6
00:40 cognominal joined #perl6
00:40 Eidolos joined #perl6
00:40 shachaf joined #perl6
00:40 nelhage joined #perl6
00:40 hcchien joined #perl6
00:40 pasteling joined #perl6
00:40 awwaiid joined #perl6
00:40 LCamel joined #perl6
00:40 jiing joined #perl6
00:40 TreyHarris joined #perl6
00:40 avar joined #perl6
00:40 obra joined #perl6
00:40 melissa joined #perl6
00:40 ilogger2 joined #perl6
00:40 mtve joined #perl6
00:40 Tene joined #perl6
00:40 yahooooo joined #perl6
00:40 ajs joined #perl6
00:40 gugod joined #perl6
00:40 kolibrie joined #perl6
00:40 statico joined #perl6
00:40 nnunley_ joined #perl6
00:40 buu joined #perl6
00:41 lambdabot joined #perl6
00:44 platypus joined #perl6
00:44 xinming_ joined #perl6
00:45 elmex joined #perl6
00:59 lyokato joined #perl6
01:06 eval-- joined #Perl6
01:48 daxim_ joined #perl6
02:10 mncharity left #perl6
02:11 drbean joined #perl6
02:27 weinig joined #perl6
03:05 elmex_ joined #perl6
03:23 IllvilJa joined #perl6
03:26 pro21ms4 joined #perl6
03:51 justatheory joined #perl6
03:52 justatheory joined #perl6
03:58 justatheory joined #perl6
04:13 IllvilJa joined #perl6
04:28 weinig joined #perl6
04:30 weinig joined #perl6
04:58 amnesiac joined #perl6
05:41 funktio joined #perl6
05:46 Ashizawa joined #perl6
05:47 jisom joined #perl6
05:50 Jedai joined #perl6
06:14 masak joined #perl6
07:08 Lunchy joined #perl6
07:16 drrho joined #perl6
07:42 Aankhen`` joined #perl6
07:44 dduncan left #perl6
07:49 kanru joined #perl6
08:01 prefiks joined #perl6
08:05 franck___ joined #perl6
08:08 integral joined #perl6
08:20 Daveman joined #perl6
08:52 Grrrr joined #perl6
09:18 Casan joined #perl6
09:19 masak is there any way to inspect a junction, to peek inside it without collapsing it?
09:19 masak is there a way to know if one is handling a junction or a non-junction value?
09:21 iblechbot joined #perl6
09:36 Aankhen`` masak: .values?
09:36 Aankhen`` (For the first question.)
09:37 Aankhen`` Or perhaps I didn't understand.
09:47 drrho joined #perl6
09:47 fglock joined #perl6
10:03 drupek12 joined #perl6
10:07 pugs_svnbot r18257 | fglock++ | [kp6] roadmap update
10:07 pugs_svnbot diff: http://dev.pugscode.org/changeset/18257
10:15 fglock re inspect a junction - I was just wondering about that
10:19 many-legged joined #perl6
10:30 Aankhen`` joined #perl6
10:45 fglock hmm - if NQP supported threads
11:01 pro21ms4 joined #perl6
11:19 luqui joined #perl6
11:32 felipe joined #perl6
11:43 theorbtwo joined #perl6
12:01 dalecooper joined #perl6
12:07 riffraff joined #perl6
12:16 iblechbot joined #perl6
12:21 cmarcelo joined #perl6
12:27 pmurias joined #perl6
12:40 mncharity joined #perl6
12:42 lidden joined #perl6
12:42 lidden joined #perl6
12:49 avar default sequence: ExtractRuleBlock Token MetaClass Global EmitPerl5
12:50 avar --lisp only uses EmitLisp, I wonder if it should use any of those too
13:04 pmurias avar: Token for sure
13:04 pmurias avar: or do you handle rules specialy
13:05 pmurias ExtractRuleBlock,Token as ExtractRuleBlock is nessary for code blocks in rules
13:07 pmurias MetaClass turnes some things into calls to the metamodel
13:07 pmurias and Global turnes undeclared variables into GLOBAL:: vars
13:22 avar No we want rules to perl6 definetely
13:22 avar most of that stuff depends on things we don't have yet anyway so it doesn't matter much
13:30 franck___ joined #perl6
13:31 rindolf joined #perl6
13:45 fglock i'm trying to get threads working on kp6
13:46 fglock compiling to parrot should do it,
13:46 fglock but that's not a generic solution
13:47 fglock i was also told several times not to rely on Perl 5 threads
13:47 fglock rewriting to call/cc might work
13:50 jhorwitz joined #perl6
13:50 avar couldn't threads be done abstractly at the kp6 level and then left up to emitters to implement?
13:50 pmurias fglock: what do you plan to use instead of perl5 threads?
13:51 fglock pmurias: continuations (implemented with perl 5 closures)
13:51 fglock avar: yes, but you still have to implement
13:51 pmurias fglock: it won't give you concurency
13:52 fglock pmurias: it's enough for gather/take, and coro
13:52 fglock but not async
13:52 avar well, it could emulate async, after all the order isn't guarenteed:)
13:57 fglock avar: are Lisp threads good enough (for starting hundreds of threads, for example)?
13:59 fglock avar: thinking of running TimToady's desugared STD
13:59 fglock rather than plain STD, which doesn't require much laziness
14:02 avar CL doesn't have threads, but the implementation specific ones are good
14:02 avar they're OS-threads good, approximately
14:08 avar (sb-thread:make-thread (lambda () (write-line "hello")))
14:13 moritz_ re
14:13 lambdabot moritz_: You have 1 new message. '/msg lambdabot @messages' to read it.
14:18 franck___ joined #perl6
14:19 drrho left #perl6
14:21 fglock I'm trying to figure out pros and cons
14:21 fglock requiring threads in the compiler may be bad for portability
14:22 franck____ joined #perl6
14:22 fglock but implementing language-level threads may be good
14:24 PerlJam getting threads right in perl (any perl) must be good. :)
14:25 pmurias fglock: do what's most fun ;)
14:26 PerlJam pmurias++
14:27 franck____ joined #perl6
14:28 franck____ joined #perl6
14:29 fglock pmurias: working out a plan is fun
14:32 zomgb00bie joined #perl6
14:33 pmurias fglock: i don't think threading concurrency will move us further on the roadmap
14:39 franck___ joined #perl6
14:39 pmurias fglock: is there anything blocking the bootstrap apart from the parser speed?
14:40 SCalimlim joined #perl6
14:40 fglock only minor things, I think
14:41 fglock pmurias: let's say we had STD parsed and running,
14:41 fglock would we call it Perl 6?
14:41 fglock it wouldn't implement most of the interesting parts of the runtime
14:42 avar NoReallyIt'sKindaExactlyLikePerl6
14:42 PerlJam fglock: I'd call it fglock-perl-6
14:42 fglock :P
14:42 avar well it would be "a" Perl 6
14:42 PerlJam or perl-6-foo (where foo is something meaningful that I can't think of right now)
14:44 iblechbot joined #perl6
14:44 pmurias Perl 6 is the language name, i suppose you can have a (partial) implementation of Perl6
14:45 pmurias s/can have a/could call it a/
14:45 pmurias partial untill it passes the test suit
14:45 PerlJam pmurias: I suppose we will only have partial implementations of perl 6 until something profound happens
14:46 fglock PerlJam: what would that be like?
14:46 pmurias someone writing a full implementation ;)
14:46 PerlJam fglock: wish I knew.
14:47 pro21ms4 joined #perl6
14:47 [particle] or someone writing a full specification ;)
14:48 PerlJam pmurias: I think it would take something like blessings from Larry for Perl 6 to be born.  (it's still germinating)
14:48 TJCRI joined #perl6
14:49 avar Odd this need to attach a definite article to everything:)
14:49 franck____ joined #perl6
14:49 avar fglock: Excellent that the bootstrap is going well!
14:51 moritz_ I've been on vacations for ten days, so excuse my dumb question: what happened here lately?
14:52 fglock moritz_: Aankhen``  and avar have been working hard on kp6-lisp
14:52 fglock ruoso and pmurias worked on kp6-kp6 (kp6 bootstrap)
14:53 cmarcelo joined #perl6
14:53 fglock pmurias worked on a C implementation on Perl 6 tokens
14:53 fglock of
14:53 moritz_ fglock: and you?
14:53 fglock I've been studying thread models
14:53 fglock didn't implement much
14:54 fglock I did a bit of work on macros
14:57 moritz_ fglock: thanks for the update!
14:57 Ashizawa joined #perl6
14:58 TJCRI joined #perl6
14:59 pmurias meeting&
15:02 fglock I think it boils down to - when is kp6 Phase 4 finished? (in kp6 roadmap)
15:02 fglock phase 4 was defined too loosely
15:03 fglock hmm - lazily
15:05 franck___ joined #perl6
15:06 moritz_ is 5.10 out?
15:07 moritz_ s/out/released/?
15:07 [particle] perl.org reports "Current Release: 5.8.8"
15:07 rgs no it's not
15:07 masak joined #perl6
15:07 rgs but it's close to be.
15:08 PerlJam rgs: What RC is it at?
15:09 moritz_ [particle]: I generally don't trust the up-to-date-ness of perl.org
15:09 rgs RC1 maybe this weekend
15:11 ferreira joined #perl6
15:16 chris2 joined #perl6
15:30 avar rgs: yeah right:)
15:30 rgs I plan to have tuits
15:31 ferreira Juerd: I incorporated your suggestions into the article on sort comparison operators: here http://feather.perl6.nl/~ferreira/perl6-operators/compare2.html and here http://www.oreillynet.com/onlamp/blog/2007/10/yap6_operator_comparisons_part_1.html
15:31 lambdabot Title: compare2.pod6
15:35 Psyche^ joined #perl6
15:49 arrowax joined #perl6
15:55 rindolf Hi rgs
15:57 Jamtech joined #perl6
15:57 pugs_svnbot r18258 | avar++ | Fixed indenting
15:57 pugs_svnbot diff: http://dev.pugscode.org/changeset/18258
15:57 lambdabot Title: Changeset 18258 - Pugs - Trac
15:58 avar 37 tests passing now, +4
15:58 pugs_svnbot r18259 | avar++ | Return kp6 values from defined and substr, this makes their respective tests pass
15:58 pugs_svnbot diff: http://dev.pugscode.org/changeset/18259
15:58 lambdabot Title: Changeset 18259 - Pugs - Trac
15:59 blindfish joined #perl6
15:59 barney joined #perl6
16:17 justatheory joined #perl6
16:18 IllvilJa joined #perl6
16:18 moritz_ kp6: say "hi"
16:18 exp_evalbot r18259: OUTPUT[hi␤]
16:20 avar kp6: my $str = "not ok"; substr($str, 4)
16:20 exp_evalbot r18259: OUTPUT['ok'␤]
16:42 Ashizawa joined #perl6
16:47 spinclad fglock: for a name: FullGrammarPerl6
16:48 spinclad MerelyFullGrammarNotToImplyFullyFullPerl6
16:51 avar JesusChristTheJewThisIsALongBloddyPackageNameOhAndByTheyWayItKindaSortaMaybeaAlmostParsesPerl6
16:55 spinclad s:2nd/y// for a shorter name
16:55 spinclad oop -- s:3rd
16:56 spinclad otherthanthat the name might fly
16:57 spinclad s:nexttolast/a// for even shorter.  now it's unassailable.
17:03 bsb joined #perl6
17:05 amnesiac avar, pretty self-explanatory package name...
17:05 fglock and we can use a digest to shorten
17:09 Aankhen`` fglock++ # bahaahahahaahaahahaha.
17:09 weinig joined #perl6
17:17 fglock fnished reading one year's worth of Perl 6 Design Meeting Notes - chromatic++
17:22 arguile joined #perl6
17:22 fglock I wonder what's the state of STM and threads in Parrot
17:23 avar dude just hack sbcl:)
17:23 pugs_svnbot r18260 | avar++ | * Indenting of class Call, notabs
17:23 pugs_svnbot diff: http://dev.pugscode.org/changeset/18260
17:23 lambdabot Title: Changeset 18260 - Pugs - Trac
17:25 avar svn + vc.el > svk
17:27 fglock it seems that it's possible to construct a kp6 (Perl 6?) AST entirely of Call nodes
17:28 [particle] fglock: threads is a working prototype, but with bitrot on win32
17:29 [particle] threads and concurrency pdds should be complete 15 nov and 15 dec
17:29 [particle] we're due to have them implemented by march 2008
17:31 awwaiid thought you said "implanted" for a second there.
17:32 fglock [particle]: that will be cool
17:32 Psyche^ joined #perl6
17:32 fglock wish I had it now
17:33 [particle] you're not alone :)
17:35 fglock [particle]: I've been thinking more seriously about kp6-parrot
17:36 [particle] fglock: that's good to hear
17:36 [particle] you've all been making massive progress on kp6 lately
17:36 [particle] it's great to see!
17:39 fglock [particle]: thanks :)
17:39 [particle] let me know when and where parrot fits in with kp6, and how i can help
17:39 pugs_svnbot r18261 | avar++ | (kp6-true) for && and || not (perl->cl, 0 && say 'foo' no longer says foo
17:39 pugs_svnbot diff: http://dev.pugscode.org/changeset/18261
17:39 lambdabot Title: Changeset 18261 - Pugs - Trac
17:40 fglock we have a Parrot emitter that needs some work,
17:41 fglock the basic things are simple to implement
17:41 fglock it will need more work to implement closures and user-defined classes
17:42 fglock I think Parrot already has the whole runtime
17:43 fglock i think it's about a week worth of hacking
17:43 ferreira left #perl6
17:43 * avar plays with sbcl threads and notes that they rock
17:43 fglock avar: yay!
17:44 avar they're just sugar around the native OS threads
17:44 fglock we could try out an async() implementation
17:44 avar http://www.sbcl.org/manual/Threading.html
17:44 lambdabot Title: Threading - SBCL 1.0.10.14 User Manual
17:45 avar it's also easy to make the whole interpreter code threadsafe, most of it is already
17:45 fglock avar: how about implementing it as &code.async()
17:46 fglock needs zero grammar and ast modifications
17:46 fglock just for testing
17:46 avar lisp doesn't support subs yet through
17:52 fglock [particle]: re help, when is the best time for you?
17:54 barney joined #perl6
17:55 Aankhen`` avar: We do support anonymous code blocks, however.
17:55 Aankhen`` Then again, no objects.
17:56 fglock [particle]: I need some snippets to use as examples, such as: define &GLOBAL::say and store it in a file to include as a lib
17:56 [particle] fglock: probably later this week
17:56 [particle] i'm available this month, but in november i'll be trekking in nepal
17:57 fglock [particle]: ok!
17:57 avar Aankhen``: IMPLEMENT!
17:57 fglock please let me know if you are nearby Lisbon :)
17:57 [particle] fglock: not likely in the near future, but i'll let you know :)
18:01 fglock kp6-parrot should reuse the Perl 6-Parrot runtime
18:01 fglock it wouldn't make sense to have a separate runtime
18:03 lichtkind joined #perl6
18:03 fglock re Lisp, it probably makes sense to write it by hand first
18:03 fglock in order to have a working prototype
18:04 avar Aankhen``: Can you tell me about some stuff I could implement? I'm not so familiar with how it's all working atm
18:11 weinig joined #perl6
18:13 fglock home &
18:14 Aankhen`` avar: I'm not really sure…
18:15 Aankhen`` avar: The answer to the second question is "just barely". <G>
18:15 Aankhen`` Oh, dang, it wasn't a proper question.
18:15 Aankhen`` I'm trying to finish up some (unrelated) stuff right now, give me about half an hour and I should be able to hack with you.
18:18 avar sweet
18:23 TJCRI joined #perl6
18:27 Torment joined #perl6
18:27 pugs_svnbot r18262 | avar++ | * POD documentation, this is the visitor used by --ast
18:27 pugs_svnbot diff: http://dev.pugscode.org/changeset/18262
18:27 lambdabot Title: Changeset 18262 - Pugs - Trac
18:30 Aankhen`` Actually, forget that, I've done enough intricate, tedious and time-consuming work today.
18:30 * Aankhen`` waits for the VM to be restored.
18:31 Aankhen`` avar: In the mean time, you wanted to know how it all works?
18:31 avar Aankhen``: sure
18:31 pugs_svnbot r18263 | avar++ | * Updated POD/DESCIPTION
18:31 pugs_svnbot diff: http://dev.pugscode.org/changeset/18263
18:31 lambdabot Title: Changeset 18263 - Pugs - Trac
18:31 Aankhen`` avar: Where would you like to start?  Are there any particular areas you find confusing?
18:33 avar Aankhen``: Just explain everything and I'll filter out stuff:)
18:33 avar >:)
18:33 * Aankhen`` giggles.
18:34 Aankhen`` Hmm, let's see.
18:34 pugs_svnbot r18264 | avar++ | * Updated POD/DESCRIPTION
18:34 pugs_svnbot diff: http://dev.pugscode.org/changeset/18264
18:34 lambdabot Title: Changeset 18264 - Pugs - Trac
18:39 Aankhen`` Sorry, distress call from my mother and sister to set up a DVD player.
18:39 Aankhen`` I'll have to keep popping in and out.
18:39 Aankhen`` Anyway.
18:40 Aankhen`` A ::CompUnit creates a new package for the code (which doesn't make much sense, actually, since we'll have to implement Perl 6 packages ourselves; the CL package system is very different) and pulls in Runtime.lisp, which pulls in the entire Lisp runtime.
18:40 Aankhen`` util.lisp contains a few Lisp-side utility functions and macros, nothing complicated.
18:41 Aankhen`` var.lisp only contains, at this point, KP6-DEFAULT, which takes a sigil and returns the default value for an uninitialized variable which has that sigil.
18:41 pugs_svnbot r18265 | avar++ | * Add POD docs
18:41 pugs_svnbot diff: http://dev.pugscode.org/changeset/18265
18:41 lambdabot Title: Changeset 18265 - Pugs - Trac
18:41 Aankhen`` Next, a KP6-INTERPRETER is basically a self-contained P6 world.
18:42 Aankhen`` Initialization of the interpreter creates the GLOBAL package.  It'll probably need to create a few other packages as well later on.
18:44 fax joined #Perl6
18:50 Aankhen`` Interpreter.lisp also contains the first of the three major macros used in generated code: WITH-KP6-INTERPRETER.  All this one does is to wrap the body with a LET that puts a new KP6-INTERPRETER in the given variable.
18:51 Aankhen`` After that, it loads error.lisp, which contains derivatives of the CL functions SIGNAL, WARN and ERROR.  The derivatives (formed simply by prefixing "KP6-") are mostly intended to add information about the particular interpreter in which the error occurred.
18:51 * Aankhen`` pokes avar to check that he's listening.
18:52 avar oh I'm always here:0
18:52 Aankhen`` Heh.
18:52 Aankhen`` error.lisp also contains the KP6-NOT-IMPLEMENTED error class, which we're having a lot of fun with. :-P
18:52 avar yeah, I saw that one
18:53 Aankhen`` Object.lisp defines the KP6-OBJECT class which all Perl-land objects derive from.  It also defines the KP6-TRUE generic function with a base case for the KP6-OBJECT class.
18:54 Aankhen`` Cell.lisp defines the simple KP6-CELL class (cells <=> containers) and a wrapper function to create new KP6-CELL instances.
18:54 avar cell instaces?
18:55 Aankhen`` Yessir.
18:55 Aankhen`` Variables are stored in hashes keyed by the name, with the value being a cell.
18:55 avar any reason not to call (make-instance) directly instead of stuff like (defun make-kp6-cell (value) (make-instance 'kp6-cell :value value)) ?:)
18:55 Aankhen`` No, it's just a convenience function.
18:55 avar ah, this is required for bindings I take it?
18:56 Aankhen`` You could substitute (make-instance 'kp6-cell :value value) everywhere you have (make-kp6-cell value).
18:57 Aankhen`` You have the rather uninteresting KP6-VALUE class with a single VALUE slot in Value.lisp…
18:58 Aankhen`` Container.lisp has the KP6-CONTAINER class along with a KP6-BAD-INDEX error class and a bunch of generic function definitions.  (SETF KP6-LOOKUP) is the only one with a method defined since it's simply a wrapper around KP6-STORE.
18:59 Aankhen`` After that you have all the various value types and container types, which I'll pass over to avoid redundancy…
18:59 Aankhen`` Ah, now we come to Package.lisp.
19:00 Aankhen`` Hmm, we should probably swap Package and Pad, since Package builds on Pad.
19:00 Aankhen`` I'll talk about Pad first.  KP6-PAD derives from KP6-HASH.  A pad is simply a hash whose keys are variable names and values are cells.
19:02 Aankhen`` The WITH-KP6-PAD macro is the major point of interest here.  It takes an interpreter, a name for the pad, and an optional parent pad.
19:03 Aankhen`` What it does is to create a new pad and wrap the body you provided in a bunch of lexical functions which manipulate that particular pad.
19:04 Aankhen`` So you have DEFINE-LEXICAL-VARIABLE, SET-L-V, LOOKUP-L-V and DEFINE-OUR-V, which only operate on that particular pad.  This means the generated code need not keep track of anything; it can simply call the functions with the name (and value, as appropriate) and they'll do the right thing.
19:05 Aankhen`` S-L-V and L-L-V operate on the value of the variable cell; they also have /C variants that operate on the cell itself.
19:06 Aankhen`` So to simply assign a new value to a variable, you'd use SET-LEXICAL-VARIABLE.  In order to bind the variable to another value, you'd use SET-LEXICAL-VARIABLE/C and supply a KP6-CELL instance.
19:07 Aankhen`` Make sense?
19:08 avar yeah
19:08 Aankhen`` Good, because it didn't to me, for a long time.
19:08 Aankhen`` I banged my head on the wall a lot over that stuff.
19:09 avar I guess I'm just so amazingly awesome
19:09 Aankhen`` Or you're faking it.  Either way, might as well continue. :-D
19:10 Aankhen`` Ah, packages.
19:10 Aankhen`` Packages are also pads, funnily enough.
19:11 Aankhen`` WITH-KP6-PACKAGE follows the same pattern as WITH-KP6-PAD, except that it obviously defines functions for manipulating package variables.
19:12 Aankhen`` They're not strictly needed, they just obviate the need for specifying the interpreter everywhere.
19:13 Aankhen`` WITH-KP6-PACKAGE additionally wraps its body in a WITH-KP6-PAD.
19:13 Aankhen`` Aaaand that's it for Package.lisp, I guess.
19:13 Aankhen`` I believe you're quite familiar with foreign.lisp and GLOBAL.lisp already.
19:14 Aankhen`` coerce.lisp is what it says on the tin: a KP6-COERCE function for converting values between types.
19:14 jisom joined #perl6
19:14 Aankhen`` display.lisp defines PERL->DISPLAY for use in &infix:<~> and &print, mostly.
19:15 Aankhen`` That's it for the individual overviews, I think.
19:15 Aankhen`` What else would you like to know about?
19:15 Aankhen`` I think I'm going to be cleaning up a lot of code.
19:15 avar now?
19:15 Aankhen`` Yup.
19:16 Aankhen`` I'm checking here as well, though, so shout if you need something.
19:16 avar I've been playing with subs while you were talking
19:16 avar $ echo 'our &VAR = sub { say "WAR" }' | perl kp6-mp6-perl5.pl --lisp| sbcl
19:16 avar *
19:16 avar MAIN
19:16 avar *
19:16 avar #<KP6-CODE {AB68BD9}>
19:16 Aankhen`` Great. :-P
19:17 Aankhen`` Stall me while you get work done.  Hmph.
19:17 avar no not at all:)
19:17 avar how do I call functions..
19:17 Aankhen`` Do you want KP6-APPLY-FUNCTION?
19:19 avar Aankhen``: http://sial.org/pbot/27847
19:19 lambdabot Title: Paste #27847 from Someone at 208.78.101.240
19:19 avar just nuke my changes:)
19:20 Aankhen`` Eh?
19:21 Aankhen`` Why do you want me to nuke your changes? :-S
19:21 avar because they don't work
19:22 Aankhen`` Ah.
19:23 avar w 2
19:24 Aankhen`` Ack.
19:24 Aankhen`` ,695fatal error encountered in SBCL pid 6452(tid 3085350592):
19:24 Aankhen`` ,695GC invariant lost, file "gencgc.c", line 4601
19:25 Aankhen`` Hmm, it's a problem with my SBCL.
19:31 Aankhen`` Installing a binary didn't help.  I wonder if it's because of having the VM suspended for so long.
19:32 pmurias Aankhen``: saving your explanations into a file in docs/ might make sense :)
19:34 pmurias or just referencing the log in a README (lazy option)
19:37 Aankhen`` Sure, if it'd be helpful.  I didn't much like the explanation though.
19:37 avar or writing out some docs you lazy bum:)
19:38 Aankhen`` Gak.
19:38 Aankhen`` SBCL still isn't working for me.
19:38 avar what code are you trying on it?
19:39 Aankhen`` I just say `SBCL` and it gives me the error I showed above as soon as it's done initializing.
19:40 avar then it really does suck
19:44 pugs_svnbot r18266 | Aankhen++ | * [kp6] added docs/kp6-lisp.txt
19:44 pugs_svnbot diff: http://dev.pugscode.org/changeset/18266
19:44 lambdabot Title: Changeset 18266 - Pugs - Trac
19:45 Aankhen`` Hmm.
19:45 Aankhen`` The error appears to be caused by LINEDIT.
19:45 Aankhen`` Yup.
19:50 pugs_svnbot r18267 | Aankhen++ | [kp6-lisp]
19:50 pugs_svnbot r18267 | Aankhen++ | * removed INTERNED-SYMBOL.
19:50 pugs_svnbot r18267 | Aankhen++ | * moved KP6-GENERATE-VARIABLE from Pad.lisp to var.lisp
19:50 pugs_svnbot r18267 | Aankhen++ | * removed CURRENT-PACKAGE slot from KP6-INTERPRETER class.
19:50 pugs_svnbot r18267 | Aankhen++ | * removed PACKAGE argument to KP6-INITIALIZE-INTERPRETER, changed method to accept &key &allow-other-keys.
19:50 pugs_svnbot r18267 | Aankhen++ | * removed BIT slot from KP6-OBJECT.
19:50 pugs_svnbot diff: http://dev.pugscode.org/changeset/18267
19:50 lambdabot Title: Changeset 18267 - Pugs - Trac
19:51 dduncan joined #perl6
19:52 pmurias Aankhen``: re explanation: i don't know common lisp, ans so as i'm not the intended audience i can't judge it
19:59 weinig joined #perl6
20:07 REPLeffect joined #perl6
20:10 vel joined #perl6
20:16 vel_ joined #perl6
20:19 araujo joined #perl6
20:25 ludan joined #perl6
20:38 thoughtpolice joined #perl6
20:40 kjwcode joined #perl6
20:52 vel joined #perl6
21:14 mr_ank joined #perl6
21:29 cmarcelo joined #perl6
21:29 pugs_svnbot r18268 | avar++ | Deleted docs/kindaperl6-ast.pod and moved its contents to KindaPerl6::Ast POD
21:29 pugs_svnbot diff: http://dev.pugscode.org/changeset/18268
21:29 lambdabot Title: Changeset 18268 - Pugs - Trac
21:31 avar 0/w 37
21:44 r0bby joined #perl6
22:09 pugs_svnbot r18269 | avar++ | v6-KindaPerl6-lib5 is a verbatim copy of ../v6-MiniPerl6/lib5. Copied
22:09 pugs_svnbot r18269 | avar++ | to inc so that KindaPerl6 can be shipped in a self-contained tarball
22:09 pugs_svnbot r18269 | avar++ | outside of the pugs tree.
22:09 pugs_svnbot diff: http://dev.pugscode.org/changeset/18269
22:09 lambdabot Title: Changeset 18269 - Pugs - Trac
22:14 idiotmax joined #perl6
22:17 [particle1 joined #perl6
22:48 drupek12 joined #perl6
22:55 ofer joined #perl6
23:14 pro21ms4 joined #perl6
23:23 rutlov joined #perl6
23:30 rutlov left #perl6
23:33 Limbic_Region joined #perl6
23:35 avar $ echo 'say "hello"' | perl -Ilib script/kp6 -e
23:35 avar hello
23:37 vel joined #perl6
23:53 avar I broke make test in kp6 but I don't see how it could have worked before..
23:53 avar it was running kp6_kp6 but that fails,
23:56 drbean joined #perl6
23:57 pugs_svnbot r18270 | avar++ | Uses lib5, obsolete, can be resurrected again via svn magic if needed
23:57 pugs_svnbot r18271 | avar++ | Removing old kp6 cli interface, new one is in script/kp6
23:57 pugs_svnbot diff: http://dev.pugscode.org/changeset/18271
23:57 lambdabot Title: Changeset 18271 - Pugs - Trac

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo