Perl 6 - the future is here, just unevenly distributed

IRC log for #phasers, 2011-06-21

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

All times shown according to UTC.

Time Nick Message
14:14 colomon left #phasers
18:12 masak joined #phasers
18:12 masak :)
18:15 pmichaud my report for 2011-06-21:
18:15 pmichaud What I did:
18:15 pmichaud nom stuff:
18:15 pmichaud * generic nqp::op namespace
18:15 pmichaud * lazy lists, including infinite lists and iterators
18:15 pmichaud → created opcodes for fast creation of lists and iterators
18:15 pmichaud → binder uses same functions for creating slurpies
18:15 pmichaud * PAST::Want nodes so that int/num constants to pir:: and  nqp:: opcodes aren't boxed when they don't need to be
18:15 pmichaud * pir::const:: for access to pasm symbolic constants
18:15 pmichaud * Reorganized the locations of operators in source tree
18:15 pmichaud * new Range type, super-fast for generating numeric ranges
18:15 pmichaud * gather/take
18:15 pmichaud * Enum/Pair
18:15 pmichaud * List.map, for() loops
18:15 pmichaud * hash methods (.pairs, .kv, .keys, .values, { }, etc.)
18:15 pmichaud * Refactored to use the new &say and .gist spec as given in perl6/specs rev 669e0dd
18:15 pmichaud * preliminary list slices (still need Positional role)
18:15 pmichaud * return, return-rw, take, take-rw, next, last, redo, die, fail (cheat)
18:15 pmichaud * Cleaned up Stringy/Str
18:15 pmichaud * term:<time>
18:15 pmichaud * Nil
18:15 pmichaud * Added DUMP() which lets us see a more detailed dump of a datastructure
18:15 pmichaud nqp stuff:
18:16 pmichaud * added nqp::opcodes
18:16 pmichaud * added PAST::Want node type for selecting PAST based on context
18:16 pmichaud * updated some error messages
18:16 pmichaud master stuff:
18:16 pmichaud * enabled register sharing via PAST::Stmt
18:16 pmichaud * draft release announcement
18:16 pmichaud What I plan to do:
18:16 pmichaud * convert CORE.setting to use nqp:: instead of pir:: (where possible)
18:16 pmichaud * performance improvements to list handling
18:16 pmichaud * more CORE.setting methods and functions
18:16 pmichaud * implement LoL
18:16 pmichaud * Work on S07 redraft
18:16 pmichaud EOR
18:23 kboga joined #phasers
18:26 masak pmichaud++
18:29 moritz pmichaud++ indeed
18:30 moritz My report: implemented more stuff in nom
18:30 moritz the usual back-and-forth spec discussions
18:30 moritz rest: same as last week
18:30 moritz EOR
18:40 colomon joined #phasers
18:48 Util pmichaud++
18:48 Util Pre-report:
18:48 Util # New RC Perl 6 solutions:
18:48 Util * http://rosettacode.org/wiki/Levenshtein_distance
18:48 Util * http://rosettacode.org/wiki/Partial_function_application
18:48 Util * http://rosettacode.org/wiki/Character_matching
18:48 Util * http://rosettacode.org/wiki/Sort_disjoint_sublist  (Added 1-line solution)
18:48 Util # Plan to do:
18:48 Util * Finish YAPC::NA::2011 talk
18:48 Util * $WORK
18:48 Util EOR
18:51 sorear pre-report:
18:52 sorear * finished removing Niecza's grammar's own symbol table, so now the compiler only has *one*
18:52 sorear * made many small improvements to "declared but not used" checking, in particular it works with top-level definitions and operators now
18:53 sorear * added is tighter/looser/equiv
18:53 sorear * changed 'subset', 'enum', and 'constant' to default to 'our'
18:54 colomon left #phasers
18:54 sorear * fixed class A::B { ... }; class A::B { }.  about 3 times, infact :(
18:54 mberends joined #phasers
18:54 sorear * added checks for duplicate definitions of attributes, methods, and our symbols, with source locations
18:55 colomon joined #phasers
18:55 sorear * started trying to add MY:: et al, which has turned into a major refactor of package handling (but it's a huge simplification)
18:57 sorear EOR
18:57 colomon left #phasers
18:58 mberends sorear++
18:59 masak pre-report: arranged an NPW with jnthn++. gave two (reprised) talks during it. patched the nom branch for the first time. edublogged, but missed yesterday. will make up for it today. EOR
19:02 moritz sorear++ masak++
19:02 masak o/
19:02 moritz it's #phasers time - any other reports?
19:02 Util o/
19:02 mberends o/ but nothing to report
19:02 sorear o/
19:02 * TimToady is mostly working(ish) on a 5.14 Camel...
19:02 * sorear is still backlogging #perl6 and #phasers
19:03 * sorear is now done
19:04 mberends TimToady: as you're the original p6'er, is 5.14 weirdly nostalgic for you?
19:04 masak I'd like to know what the probability is of nom merging before release. :)
19:04 pmichaud How many times do you look at something in 5.14 and say "oops"?
19:05 moritz masak: 0%
19:05 pmichaud masak: I guarantee that nom will merge before a release.  We just don't know which one yet.  :)
19:05 PerlJam I just want to know if the 5.14 book is full of references to Perl 6  ;)
19:05 mberends TimToady: (well, you were the original p5'er too, etc etc :)
19:05 TimToady mberends: it's kind of a drag, really
19:05 pmichaud nom won't make it into the June release, for certain.  I'm not sure where we'll be for July.
19:06 TimToady PerlJam: we're trying to limit P6 refs to things that are actually going to be considered informative to a P5 programmer :)
19:06 pmichaud We still have a ways go go, since we don't have Test.pm running yet (which jnthn++ and/or I expect to have working by this weekend)
19:06 PerlJam So no "smart matching works like this in 5.14, but in Perl 6 it's much better..." ?  :)
19:06 TimToady PerlJam: that can fall in the category of "this works differently because..."
19:07 TimToady anyway, not trying to hijack the meeting
19:07 masak pmichaud: thanks for being epsilon informative :P
19:07 pmichaud masak: glad to help!  :)
19:08 TimToady pmichaud: it's usually worse than "oops"  :)
19:08 sorear niecza-v7 release on Monday.  I'm starting to get kinda annoyed by all the missing features in the v6 which I'm currently using for the build :)
19:10 sorear I've also been thinking about how to write a Perl 6 interpreter without requiring a bootstrap at some level
19:10 tadzik not late!
19:11 sorear tadzik: ?
19:11 moritz tadzik: you're within c.t. :-)
19:12 sorear the main interesting issue is "augment slang" (equivalently, is parsed macros) in user code, which requires the user Perl 6 code to be parsed using the user grammar engine
19:12 tadzik I had some report, but I eated it :)
19:12 sorear but it seems that a pure C Perl6 could use its own grammar engine to parse, without a setting
19:13 sorear also figuring into this thought is TimToady's comment that the setting doesn't need to be a Perl 6 module
19:14 TimToady it just has to look like an outer scope by the time you get there
19:14 moritz sorear: it just has to try hard enough to look like one :-)
19:14 pmichaud Rakudo long had a non-p6 setting, fwiw.  :)
19:15 sorear anyway this set of ideas is making me think I can build a Perl6 that will compete with "time perl -E 'say 2 + 2'"
19:15 moritz which worked fine, as long as nobody tried to introspect it
19:16 sorear and I want to try, although it seems kinda silly to start a new implementation before niecza is done :D
19:17 mberends we tend to think that done === dead, so long live niecza!
19:18 PerlJam another implementation of Perl 6 can only improve the chances that Perl 6 will get used  ;)
19:19 masak sorear: it's a simple cost/benefit calculation. will starting the new implementation bring more boons than focusing on niecza?
19:20 TimToady and can you trick someone else into taking it over? :)
19:20 sorear The v6 announcement made it to reddit, where the overwhelming response was "the name sucks".  I'm sort of tempted to agree...
19:20 PerlJam sorear: rebranding is always an option
19:21 * moritz proposes "the compiler formerly known as niecza" as new name :-)
19:21 sorear masak: not now
19:21 tadzik akaniecza? :)
19:22 masak sorear: if the schedule is "not now", I'm interested in contributing. :)
19:22 sorear the New Design wants a low-level language with good coroutine support, extremely fast loading, dynamic code generation, and an efficient 6model-integrated garbage collector
19:22 masak (I have tuits, but not now.)
19:22 sorear "in other words, it wants M0"
19:23 PerlJam sorear: Just call it "hakuna matata"
19:24 mberends TimToady: niecza without sorear++ is unthinkable today, like pugs without au++. I hope we'll all do whatever we can to increase its bus number to avoid a similar fate.
19:25 jnthn oh hai
19:26 jnthn Sorry I'm late
19:26 mberends o/ jnthn
19:26 masak jnthn! \o/
19:26 * jnthn is in Gothenburg :)
19:26 sorear o/ jnthn
19:26 sorear Is there any difference whatsoever between $a and $::a?
19:29 moritz any more #phasers topics for tonight?
19:29 sorear hmm
19:29 sorear don't think so
19:30 moritz tadzik: do you have a short gsoc report for us?
19:30 jnthn To report, breifly: did stuff in nom. Will now focus on native types, roles, etc.
19:31 tadzik moritz: not really. Me report is: had two exams, these are not the results I'm looking for
19:33 sorear I want to understand leading ::, roles, native types better
19:33 sorear but I think those are not #phasers topics
19:34 jnthn sorear: Not sure what the leading :: is about there
19:34 jnthn Just 'cus std parses it doesn't mean it means anything ;)
19:34 masak isn't leading :: for being able to interpolate strings into variable names?
19:35 sorear jnthn: S02 talks about leading :: in vagueish terms
19:35 jnthn ah
19:35 * jnthn will look a little later
19:35 sorear AIUI, leading :: means nothing in sigilled names, and in unsigilled names it means "treat this syntactically as a type name, even if no such type was declared"
19:37 jnthn In a signature it's a type capture
19:37 jnthn I know about that case
19:37 masak :)
19:37 jnthn it's the sigil'd one that looked weird to me :)
19:37 jnthn maybe "ignore it" is fine though :)
20:16 masak left #phasers
21:02 colomon joined #phasers
22:00 tylercurtis left #phasers
22:00 tylercurtis joined #phasers
22:20 [particle]1 joined #phasers
22:22 [particle] left #phasers
23:05 colomon sorear: where does big_plus (for example) get used?  My greps aren't turning it up anywhere.... (I've written a preliminary bif_pow, still needs work.)
23:06 colomon afk # don't know why I'm being called...
23:07 sorear colomon: NieczaPassSimplifier
23:07 sorear though that was probably a mistake in retrospect
23:08 colomon .man or .pm6?
23:08 colomon *.nam
23:12 colomon .pm6, I see.  trying now.  (But apt to be called away in a moment.)
23:22 sorear sorry I'm so unavailable
23:22 sorear it goes like this
23:22 sorear 1. CORE.setting contains a definition of &infix:<+>.
23:23 sorear 2. Direct calls (not via higher-order-functions) to that are rewritten by the Simplifier into a Op::Builtin(name => 'plus') node.
23:23 kboga left #phasers
23:23 kboga joined #phasers
23:23 sorear 3. Op::Builtin generates a low-level code node of type bif_plus.
23:23 sorear 4. Low-level nodes of unknown type default to calling methods on Builtins.
23:48 mberends left #phasers
23:58 colomon ah.  I've definitely done something wrong with that, then.  alas, I need to do some $work atm instead of straightening it out.

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