pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~330 days 'til Xmas
Set by mncharity on 25 January 2009.
00:03 rob__ left 00:08 Josephine joined 00:15 [1]Josephine joined, Josephine left, [1]Josephine is now known as Josephine 00:25 drbean left 00:35 ayrnieu_ joined, ayrnieu left, ayrnieu_ is now known as ayrnieu 00:53 DemoFreak left 00:54 fbb joined 01:04 Eevee left 01:12 fbb is now known as ffbb, icwiener left 01:20 shinobi-cl_ joined 01:23 alester joined 01:45 M_o_C joined 01:48 avar left, avar joined 01:52 FurnaceBoy left 01:56 ffbb left 02:05 alester left 02:18 f00li5h is now known as Z0ffix 02:19 Limbic_Region left 02:21 Z0ffix is now known as f00li5h 02:38 hercynium joined 02:43 M_o_C left 02:53 shinobi-cl_ left 03:08 stephenlb left, alester joined 03:15 stephenlb joined 03:21 eternaleye joined 03:38 jhuni joined 04:05 alester left 04:24 alester joined 04:26 alester left, stephenlb left, alester joined 04:37 alester_ joined 04:39 hercynium left 04:46 alester left 04:56 alester_ left 04:58 jhuni left 05:05 alester joined 05:30 Minthe joined 05:37 mberends joined 05:43 SamB left 05:55 kanru left 05:59 Minthe left 06:06 alester left 06:13 justatheory left
pugs_svn r25224 | lwall++ | [STD] implement real nesting of lexical scopes and packages 06:19
06:21 justatheory joined, justatheory left
pugs_svn r25225 | lwall++ | [CORE] add Order enum symbols 06:25
07:04 hercynium joined 07:06 ab5tract joined 07:07 hercynium left 07:11 cai joined 07:21 PantheraPardus joined 07:34 dduncan joined
dduncan question ... I recall there being a language discussion about a generic grep-alike operator that partitioned its input list into 2 complementary lists, those passing or failing respectively ... what was that operator named ... I'm looking for a clue to find it in the docs 07:36
unless this was a meta-op (unlikely)
I see there was chat about 'partition', but I'm looking for it in the spec 07:37
note I'm just looking for a simple 2-way, not into arbitrary ways 07:38
mberends S29 says 'classify' 07:39
dduncan thank you ... looking ...
mberends It looks right, but I've not seen it used or discussed. I wonder whether it's been implemented? 07:42
dduncan I see 'classify' works N-way, which is fine as a more generalized operator ... 07:44
I think I'll go with that name for my own use as well, until something better comes along 07:45
mberends ok
dduncan or maybe not
thanks for the pointer though, that's what I was looking for
mberends do you have any experience with method BUILD(...) {...} ? 07:48
TimToady you mean submethod BUILD? 07:49
pugs_svn r25226 | lwall++ | missing commas 07:50
dduncan I have some experience with BUILD, what do you want to know? 07:51
07:52 ab5tract left
dduncan TimToady, since you're here, opinion question ... what might be a good name for a more specific form of 'classify' that always divides 2 ways based on a boolean filter? ... I would tend to name its 2 result lists 'passed' and 'failed' for context 07:53
or anyone else can answer
I also prefer a name that is a noun, named after what it results in
if such is possible 07:54
I suppose 'classification' might work in a pinch, but that might be too generic ... or maybe not
well same generic as the original 07:55
mberends, I do have BUILD experience, what do you want to know?
mberends my suggestion is to just use 'classify', otherwise the function namespace gets more cluttered. 07:56
dduncan I'm asking for the purpose of use in my own separate programming language ... I ask here because Perl 6 is one of my language's influences and there are lots of good ideas here
so cluttering Perl 6 is a non-issue
mberends dduncan: thanks, I'm preparing my question in code form, will take a few minutes. 07:57
TimToady perhaps if we were designing classify now we'd make it return a Capture of positionals for numeric values and named args for string values of the closure 07:58
dduncan one style choice I made was to name routines that one would use in a value expression with a noun, similarly to how one would name a variable, and routines one would use as a statement are named with verbs ... the former 'is' something and the latter 'does' something 07:59
makes sense
TimToady yes, well, classification is a bit unweildy :)
dduncan if you mean because its a bit long, then yes 08:00
TimToady and class is taken...
mberends 'part' as in hair
dduncan that might work 08:01
I actually thought of 'divide', which specifically says 2 ways, but I'd wonder if that confuses people
mberends split has the same problem
splitting hairs 08:02
TimToady I like verbs 08:03
and Nasa has a long tradition of nouning verbs. "Go for deploy."
mberends yes, but you non verbs and verb nouns
*noun 08:04
dduncan note, barring a solution, I have fallen back to a longer name of form 'foo_and_not_foo' ... note that I also already have distinct 'foo' and 'not_foo' functions; the one I was thinking of adding was meant to invoke doing the work once
two cases so far ... 'restriction_and_cmpl' returned 2 results, that which 'restriction' (think SQL's WHERE) and 'cmpl_restriction' would return with the same arguments 08:05
mberends I dislike nouning adjectives, especially 'keynote' and 'cautionary'
dduncan the other case is 'semijoin_and_semidifference', which are both of 'semijoin' and 'semidifference'
TimToady dduncan: that's not very user-friendly, at last for the typist 08:07
*least
dduncan mind you, I don't expect people would use the both form very often ... normally they just want one
mberends grep does the one 08:08
so.. grep2 ?
dduncan as for nouning adjectives, this pattern basically follows from that I name my basic math functions [sum,difference,product,quotient] rather than [add,subtract,multiply,divide] 08:09
mberends likes grep2
dduncan that might work
note that my naming scheme probably makes more sense in the context that the parameters are all named, so eg the parameters of quotient are dividend and divisor 08:10
such code should be very readable
mberends yes, like cobol ;) 08:11
dduncan I don't go that far
mberends nobody should go that far
dduncan that is, while my language is a successor to SQL, I don't use COBOL like syntax as SQL does 08:12
mberends now you've got me interested - I do lots of SQL work
dduncan lookup Muldis::D on CPAN ... that is what I am enhancing
and Set::Relation, the first working implementation of one portion of it 08:13
mberends ok, thanks!
dduncan the specific situation is that I'm currently implementing a functional form of SQL's UPDATE, and implementing that involves partitioning the source rowset in 2, then updating attributes in one portion, then unioning the 2 parts together ... said 2 parts are those that pass/fail a filter ... 08:14
now when making this I thought it might be useful to users to be able to invoke one function to get pass+fail together rather than having to invoke 2 functions ... conceivably it might be more efficient and terser ... so this naming exercise came about 08:16
the functional-update is named 'substitution'
mberends is that a high level way to avoid in-place updates? 08:17
dduncan yes
most of the language is pure functional, but it still provides simple ways to actually mutate variables when you actually want to 08:18
basically it is as functional as can be reasonably done without making people go through contortions to change state like pure functional languages do 08:19
the procedural equivalent of SQL's update is 'assign_substitution'
which is shorthand for $foo = substitution( $foo ) 08:20
in concept, but the implementation modifies $foo in place, whatever's efficient
mberends ok, I was afraid you were sacrificing efficiency in the name of idealism 08:21
dduncan no, I'm quite pragmatic
think of it this way ... the functions of Muldis D are analagous to anything you can use in a SQL SELECT statement 08:22
08:22 iblechbot joined
dduncan and other SQL statements have a lot of syntax in common with SELECT 08:22
for example the WHERE clause 08:23
08:23 ejs joined
mberends it's similar to DataSet etc classes from a company whose name I forget 08:24
dduncan 'substitution' is one way you can say "select foo, bar * 2 as bar from baz"
mberends will read Muldis::D thoroughly 08:25
08:25 ab5tract joined
dduncan you can say that in Set::Relation with "$baz->projection( ['foo', 'bar'] )->substitution( sub { { 'bar' => $_->{'bar'} * 2 } } );" or some such 08:26
or skip the 'projection' if $baz doesn't have any other attributes
or if you want all the attributes
Set::Relation is meant to integrate more closely into Perl ... use it like Set::Object or something ... so it uses positional args and stuff 08:27
anyway, thanks for the chat 08:28
mberends ditto
08:29 ab5tract left
dduncan I also provide 'map' which does as you would expect ... the full generalization of SELECT ... FROM $baz ... 08:32
the projection, extension, substitution, etc are more specialized ... and expected 08:33
08:33 ab5tract joined 08:35 jfredett_ joined, DemoFreak joined 08:37 jfredett_ is now known as jfredett 08:40 jfredett left
pugs_svn r25227 | lwall++ | [STD] more symbol table cleanups 08:41
dduncan now that I think about it, for my current problem the 'foo_and_bar' version seems to work, though I shortened one of them to semijoin_and_diff 08:44
I'll also go through the language and look for other things to shorten
mberends dduncan: Muldis::D is a major effort. Are you writing a Rosetta on parrot?
dduncan Rosetta is the name of the Muldis D implementation over Perl 5 and Perl 6 ... I also plan to implement Muldis D as a Parrot hosted language but it won't be called Rosetta there, probably 08:45
over Perl the naming is meant to be more like the naming scheme of DBI or other db apis ... in Parrot I'd use a naming scheme more like general Parrot hosted languages use 08:46
mberends how would I call your code from Perl 6 (eventually) ? 08:47
dduncan either call it "Muldis D" or more likely make up some new brand like "Rakudo" did with Perl 6
with the Parrot hosted language version, you call the code like you would call Python or Ruby or etc code
with the Perl 6 hosted version you would call it like how you invoke SQL by way of DBI 08:48
mberends guessing here, will you persist the data via a DBI like driver to in SQL?
dduncan yes
or more specifically, think of Rosetta the same as DBI, with its own set of pluggable drivers 08:49
one can choose to use a driver that fronts a SQL database, or you could pick a driver that doesn't ... same as DBI
eg, DBD::CSV isn't a SQL database
mberends yes, it makes sense to abstract the storage that way.
Well done on conceiving such an impressive architecture. Are there concrete implementations running yet? 08:51
dduncan as for treating Muldis D as a generic language like Perl/Python/etc, its paradigm is that "the database" is how you persist things, and that is your interface to files ... similarly your database doesn't have to persist, or parts could and parts wouldn't
think of "the database" as your namespace for global variables
like package-level variables in Perl
08:52 cosimo joined
dduncan and so the direct analogy to Muldis D user-defined routines are your SQL stored procedures etc 08:52
so like with SQL, Muldis D essentially merges your concepts of code library and data ... they live in one multi-level namespace and can either persist or not 08:53
and its all transactional 08:54
08:57 Josephine left
mberends "the database" as your namespace... beware... blogs.tedneward.com/2006/06/26/The+...ience.aspx 08:58
mberends came at this before via Hibernate and remains scarred 08:59
dduncan keep in mind I have lexical variables too 09:00
a brief explainer, the global namespace is divided first into built-in stuff and user-defined stuff ... the latter is divided in to 0..N depots, each depot corresponding to what a SQL DBMS would call a database ... each depot is individually either persisted or not, and each one can persist in different places ... doing a query involving multiple depots is the means of so-called cross-database queries 09:02
you don't have to keep everything together, just as a typical application can choose to use multiple files 09:03
mberends wow 09:04
dduncan the meaning of depot varies by implementation or Rosetta driver ... over SQLite, each SQLite file would be a depot
the definition of depot is the maximum scope in which its parts are interdependent 09:05
eg, if you define a data type and a routine or variable uses that type, they must be in the same depot
you can make a depot a narrower scope, eg just one behind-the-scenes database schema, but it can't be wider than I said 09:06
in code terms, a depot is like a library, and contains everything necessary to understand itself 09:07
code in one library can invoke code in another, but each needs its own copy of the data type definitions that said call involves 09:08
09:09 finanalyst joined
dduncan looking at url ... 09:10
actually, I've read that one before
finanalyst does the rakudo git repository still have to reside inside parrot/languages/? 09:11
mberends yes, temporarily
finanalyst when is this expected to change? 09:12
mberends pmichaud++ will say. perhaps less than a week
finanalyst thanx
dduncan if it helps, you could call Muldis D an "object relational" language ... it is not an ORM or generic object persistence layer ... you use Muldis D as if it were a more advanced version of SQL
mberends hopefully www.thethirdmanifesto.com/ does not influence you too much - it's not pragmatic, SQL is here to stay. 09:14
dduncan I disagree ... it is very pragmatic 09:15
but it is often misunderstood
I'm also not dogmatic 09:16
mberends heh
dduncan that's one of my main influences, but I still make my own decisions, and use lots of other input
if someone says TTM is not pragmatic, they probably don't understand it 09:17
people say Perl is irrelevant and Perl 6 is going nowhere too, but we don't believe that, do we?
mberends you're giving me quite a long reading list ;) 09:18
dduncan (yes, I do see that as a fair analogy, not a strawman)
I see my effort with Muldis D, relative to SQL, to be a lot like the efforts with Perl 6 relative to Perl 5, and other languages 09:22
09:22 ejs left
dduncan yes, SQL will stay around for a long time, same as COBOL, but over time better things will come along and get adopted 09:22
mberends That's a very noble quest. I like Perl 6 for the same reason. 09:23
dduncan one similarity is that a key feature of Muldis D is to be something that is easy to translate other database-domain languages to 09:25
I don't know if you were at OSCON, but part of Larry's state of the onion was that he foresaw that one day every language would be a dialect of Perl 6
I was there, and its a very interesting thing to say 09:26
when it gives you power to customize/define your own grammars like that
and the various grammars still work together
mberends no, if it works out Nordic Perl will be my first conference
dduncan I have yet to be to a Perl-specific conference but hope to start attending them soon ... realistically 2010 will be the first time ... can't afford it this year 09:28
mberends, is this you: search.cpan.org/~MBERENDS/
? 09:29
mberends I interpreted Larry's vision as a flexible enough grammar system that you could emulate C or anything else in it. CPAN, yes, but my recent work is in github.com/eric256/perl6-examples/tree/master
dduncan I assume 'eric' isn't also your name 09:30
09:30 barney joined
mberends Eric Hodges set it up and welcomes contributors. See the README. 09:30
dduncan do you have a web page? 09:32
09:32 ab5tract left
mberends I'm ashamed to say it's unmaintained so I don't refer anyone to it. 09:33
dduncan fair enough
do you have a business, or who do you work for? 09:34
mberends self employed in UK and NL, teaching programming
dduncan I see ... as for me, self employed and doing some work for the owner of a local hotel chain 09:35
in CA
mind you, my recent stuff on CPAN links to that 09:36
mberends I just found your Muldis pages and guessed something similar. 09:37
dduncan interesting your mentioning your location and profession though ... one of the 2 TTM authors, the main one I talk to, is also in the UK and teaching, at Warwick University I think 09:38
after having worked at IBM for a long time
mberends I think Edward Codd and Chris Date are both from around there. 09:39
dduncan I was talking about Hugh Darwen being in the UK ... wherever Chris Date is from I'm not sure but he lives in California now
and Codd is dead, unfortunately 09:40
mberends Date moved from London to CA in 1974 according to a book I have. 09:42
dduncan I see 09:44
in case there's confusion, I'm in Canada (BC), not California ... I'm not sure my websites say that too obviously 09:46
mberends oops, sorry. like talking to a Welshman about England...
dduncan I'm not saying you were confused, but we both used CA to mean something different 09:47
country code vs state code
mberends yes, but now it's clear
I'm in the Netherlands but not in in Holland (although I was born there). 09:48
afk & 09:57
10:04 finanalyst left 10:08 cdwillis joined, iblechbot left 10:09 cdwillis left 10:11 maerzhase joined
moritz_ [particle]1: ping 10:18
10:32 meppl joined 10:45 iblechbot joined 11:01 jan_ left 11:05 rob joined, rob is now known as Guest50931 11:13 maerzhase left 11:19 masak joined 11:20 rob joined 11:21 rob is now known as Guest12310 11:22 maerzhase joined
masak moritz_: found the cause of the make error in proto. quite obvious in retrospect, really. 11:24
I was using the latest Rakudo with Parrot 0.9.0.
11:25 kanru joined, aindilis left
pugs_svn r25228 | masak++ | added 'protoobject' and 'metaclass' to TODO 11:26
11:34 Guest50931 left 11:38 bacek joined
mberends masak: are you preparing proto for the time when rakudo is outside the parrot tree? irclog.perlgeek.de/perl6/2009-01-29#i_872583 11:47
afk & 11:49
masak mberends: Rakudo _is_ outside the parrot tree.
and yes, I am.
I have two options right now: either build Parrot 0.9.0 along with the Rakudo release that comes with it, or build svn HEAD Parrot with git HEAD Rakudo. 11:50
I'll do the first first, and the second later :) 11:51
mberends: oh, sorry, misunderstood you. 11:55
thought you said "outside of the Parrot repo"...
no, I'm not preparing proto in any special way, but the change will not be drastic, I think. we'll probably need one more environment variable. 11:56
12:18 ludan joined
moritz_ perlgeek.de/blog-en/perl-6/where-ra...lives.html 12:20
masak as usual, moritz_++ 12:22
moritz_ thanks 12:24
masak it is a sign of community strength that information like this gets out despite the two main devs being temporarily away.
moritz_ I was just tired of answering the same questions all over again ;-)
masak that's a very good reason to blog about something, actually. 12:25
avar (rakudo stuff switching to git++ away from svn--)++ 12:32
12:35 dduncan left
masak mberends++ # excellent suggestions in proto script 12:40
I also visited #bash and got a good all-round bashing. I'm on a fairly steep learning curve here. :P
moritz_ is #bash a channel about the the shell, or about being bashed? ;-) 12:41
masak moritz_: don't ask me. :) they did help me with the shell script, but they did the other thing as well. 12:44
no, actually they were fairly nice to me. 12:45
they just made sure I understood that my solution was the worst possible one before giving me the right answer. :P
13:01 ludan left 13:07 Limbic_Region joined 13:11 bacek left 13:12 bacek joined 13:15 pmurias joined
pmurias hi 13:15
13:16 Psyche^ joined
masak hi pmurias 13:16
13:25 Limbic_Region left 13:32 Patterner left, Psyche^ is now known as Patterner
pmurias hi masak 13:33
masak hm, is there any way to change the working directory from within Rakudo? 13:53
& 13:54
moritz_ don't think so
13:57 pmurias left 13:58 Whiteknight joined 14:21 finanalyst joined
masak ah, but this workaround apparently works: run( "cd $dir; $command" ); 14:21
14:35 zamolxes joined 14:37 pmurias joined 14:47 jan__ joined
pugs_svn r25229 | putter++ | [elf] README's: Mention STD_red dependency in QUICKSTART instructions. 14:49
r25229 | putter++ | [STD_red] README: Mention ruby 1.9.1, and that readline is no longer required. Light dusting.
r25229 | putter++ | STD_red_run: #! ruby1.9 instead of ruby, as that's the more common name for 1.9.
14:50 barney left 14:53 SamB joined
pugs_svn r25230 | masak++ | [u4x] added a few more Perl 6 terms to TODO 14:56
14:57 kbaud1 joined
masak two days after toying with the idea, this now works on my box: 15:26
gist.github.com/59903
much work remains to be done, but it's looking good so far.
hudnix That page is not loading for me 15:33
masak hm. not here either, it seems. :/ 15:34
PerlJam Is there something wrong with the rakudo repo? I just tried to clone it and it aborts.
masak re-pasting somewhere else. 15:35
hudnix all of github is down
masak that explains both of the above things. :)
PerlJam ah
masak sial.org/pbot/34926 # trying again :) 15:36
hudnix wow 15:37
masak hudnix: I'm making a note here: 'positive feedback' :) 15:38
hudnix :)
masak of course, it won't work for anyone else as long as github is down... 15:39
15:41 maerzhase left, maerzhase joined 15:59 szabgab joined
szabgab hi, who runs perl6.org ? 16:00
on the front page there are links under Tutorial that lead to 403 Forbidden pages 16:01
moritz_ Registrant Name:Daniel Wright 16:04
16:10 maerzhase1 joined, xinming left 16:16 ab5tract joined 16:18 Tene joined 16:20 maerzhase left 16:23 ab5tract left
masak proto now also downloads and builds druid. 16:23
mberends masak++ ! 16:25
masak we'll see where this leads. I've never built a packaging system before. :) 16:26
but I'm somewhat struck myself by the simplicity of './proto install druid'. it has a certain je ne sais quoi.
moritz_ tries proto... 16:27
16:28 maerzhase1 left
moritz_ is it inentional that it downloads parrot each time I install something? 16:30
masak moritz_: no, but I have little wiggle room there.
it can't set PARROT_DIR unless you source it.
as in 'source proto'. 16:31
moritz_ rakudo: say '/' ~~ :d
p6eval rakudo f99045: OUTPUTĀ«1ā¤Ā»
moritz_ rakudo: say '/foo' ~~ :d
p6eval rakudo f99045: OUTPUTĀ«stat failed: No such file or directoryā¤current instr.: 'parrot;Any;:d' pc 12868 (src/builtins/any-str.pir:224)ā¤Ā»
masak submits rakudobug
um, I wrote that sub :/
moritz_ hey, I CAN FINDS BUGY 2!
masak by rights, I should fix that.
16:32 Tene_ left
masak moritz_++ 16:32
moritz_ it should be as simple as push_eh your_label\n...\nyour_label: 'fail'()
moritz_ tries that
masak hokay. 16:33
I was thinking something like 'check if the file is there first', but maybe catching an exception is the better way to do it.
moritz_ yes, check first can lead to race conditions
masak oh, right. 16:34
moritz_: :f needs the same treatment, btw.
moritz_ uhm, 'make spectest' doesn't run any tests here :( 16:36
avar (defun fido (x) (case x ((0 1 2) x) (otherwise (+ (fido (- x 1)) (fido (- x 2)) (fido (- x 3)))))) 16:37
hrm
masak tries
moritz_ masak: I'm in the 'parrot under rakudo' setup right now
masak good to know. I'm not.
16:37 SamB left
masak 'make spectest' seems to work fine here. 16:37
avar sub fido ($x) { if $x == 0|1|2 { $x } else { [+] fido($x-1), fido($x-2), fido($x,3); } } 16:38
rakudo: sub fido ($x) { if $x == 0|1|2 { $x } else { [+] fido($x-1), fido($x-2), fido($x,3); } } say fido(8)
p6eval rakudo f99045: OUTPUTĀ«Statement not terminated properly at line 1, near "say fido(8"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
avar rakudo: sub fido ($x) { if $x == 0|1|2 { $x } else { [+] fido($x-1), fido($x-2), fido($x,3); } }; say fido(8);
p6eval rakudo f99045: OUTPUTĀ«too many arguments passed (2) - 1 params expectedā¤current instr.: 'fido' pc 88 (EVAL_16:49)ā¤Ā»
avar rakudo: sub fido ($x) { if $x == 0|1|2 { $x } else { [+] fido($x-1), fido($x-2), fido($x-3); } }; say fido(8);
p6eval rakudo f99045: OUTPUTĀ«68ā¤Ā»
avar nice:)
dalek kudo: a26b223 | (Moritz Lenz)++ | t/harness:
[t/harness] parrot libs can also be in parrot/lib
16:39
16:39 SamB joined 16:41 finanalyst left
masak moritz_: I amended the proto script so it won't download Parrot anew if it's already downloaded. 16:41
I'm sure there are much better ways to do what that script does. I'm just taking the shortest path possible to the goal -- painless installation. 16:42
16:47 finanalyst joined
moritz_ masak: I'd appreciate a 'test' target on top of 'install' ;-) 16:48
masak moritz_: as in './proto test november' or as in 'install should run the tests also'? 16:49
moritz_ masak: the former
masak no prob.
16:49 cosimo left
masak but I want the tests to be optional in the install process, at least for now. 16:50
16:50 cosimo joined, cosimo left
masak more precisely, failing tests shouldn't constitute a failed build of a project. 16:50
16:51 c9s_ is now known as c9s, nihiliad joined 16:57 xinming joined 16:59 kanru left
moritz_ rakudo: say $*PROGRAM_NAME 16:59
p6eval rakudo a26b22: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā»
17:02 finanalyst left
masak moritz_: I've implemented a test subcommand. :) 17:02
moritz_ masak: nice ;-)
17:02 rhr_ joined
masak lots of code duplication right now, but that's ok during the initial inflation of a project like this. 17:02
pugs_svn r25231 | moritz++ | [t/spec] fudge filetest.t for rakudo 17:07
moritz_ that commit did a lot more than what the commit message said :-) 17:08
masak I grow increasingly attached to git's commit --amend, and miss it increasingly in svn... 17:09
dalek kudo: 6211ae2 | (Moritz Lenz)++ | (2 files):
filetests shouldn't die on non-existant files.
17:10
moritz_ but I guess I can only use it before pushing the changes, right?
masak aye.
there are no actual barriers to doing it to 'upstream' as well, but there are lots of red flags and warnings in the documentation. 17:11
17:11 rhr left 17:20 alester joined 17:22 DemoPhreak joined 17:23 FurnaceBoy joined 17:28 IllvilJa left 17:39 justatheory joined, DemoFreak left 17:47 alester left
dalek kudo: 13f6779 | (Moritz Lenz)++ | config/makefiles/root.in:
[Makefile] don't try to checkout //-URLs.
17:48
moritz_ @tell pmichaud 'make spectest' doesn't seem to work if parrot in parrot/ below rakudo
lambdabot Consider it noted.
17:49 justatheory left
pugs_svn r25232 | particle++ | [S19] remove some P5-think, comb is the new hotness 17:53
17:56 M_o_C joined, icwiener joined
masak comb++ 17:56
18:01 alester joined 18:12 masak left, M_o_C left
moritz_ leaves and will be back on sunday evening 18:14
ciao
18:16 Whiteknight left 18:17 pmurias left 18:27 alester left
s1n are range slices possible? 18:31
18:36 alester joined
TimToady perl6: say ('a'..'z')[24,4,18] 18:36
p6eval rakudo 13f677: OUTPUTĀ«elements() not implemented in class 'Range'ā¤current instr.: 'postcircumfix:[ ]' pc 3452 (src/classes/Positional.pir:108)ā¤Ā»
..pugs: OUTPUTĀ«yesā¤Ā»
..elf 25232: OUTPUTĀ«Can't call method "postcircumfix__91_32_93" without a package or object reference at (eval 125) line 3.ā¤ at ./elf_h line 4333ā¤Ā»
pugs_svn r25233 | putter++ | [elf_h] Call .Bool on objects in tests. [] now tests false. 18:39
r25233 | putter++ | Performance hit is something like 5% (~1 sec) for self compilation.
r25233 | putter++ | elfcl is unaffected - it was already doing this.
s1n std: (1..10)[2,3,4] 18:40
p6eval std 25233: OUTPUTĀ«00:02 33mā¤Ā»
s1n okay, that answers that
TimToady std will only tell you if the syntax parses; it says little about semantics
s1n TimToady: can you use whatever in a slice?
TimToady what would it mean? 18:41
repeat the last element?
s1n i have no idea, i was just asking
18:42 cai left
TimToady when used as the only element, it means all the subscripts 18:43
though I doubt anyone implements that yet
perl6: say [1..10][*]
p6eval pugs: OUTPUTĀ«1ā¤Ā»
..rakudo 13f677: OUTPUTĀ«1 2 3 4 5 6 7 8 9 10ā¤Ā»
..elf 25233: OUTPUTĀ«Undefined subroutine &GLOBAL::whatever called at (eval 122) line 3.ā¤ at ./elf_h line 4346ā¤Ā»
s1n weee rakudo works 18:44
so (1..10)[*] means (1,2,3,4,5,6,7,8,9.20)?
s/20/10/
TimToady * means all the subscripts in this dimension, so for one dimensional, it comes down to that 18:45
18:45 Psyche^ joined
TimToady note that [] is 0-dimensional, while [*] is 1-dimensional 18:45
perl6: [1..10][*;*]
s1n what do you mean by dimensional?
p6eval rakudo 13f677: OUTPUTĀ«Statement not terminated properly at line 1, near "[*;*]"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» 18:46
..elf 25233: OUTPUTĀ«Undefined subroutine &GLOBAL::whatever called at (eval 122) line 3.ā¤ at ./elf_h line 4346ā¤Ā»
..pugs: OUTPUTĀ«*** ā¤ Unexpected "*]"ā¤ expecting term postfix, operator or "]"ā¤ at /tmp/ZfpD9VHwzg line 1, column 11ā¤Ā»
TimToady see S09
s1n akk, don't take this the wrong way, but searching the spec is really difficult for me
i'll try though 18:47
std: (1..10)[*;*]
p6eval std 25233: OUTPUTĀ«00:02 32mā¤Ā»
s1n std: (1..10)[1,*]
p6eval std 25233: OUTPUTĀ«00:02 33mā¤Ā»
TimToady std: (1..10)[Stuff::and::nonsense] 18:52
p6eval std 25233: OUTPUTĀ«Undeclared name:ā¤ Stuff::and::nonsense used at 1 ā¤00:02 32mā¤Ā»
18:52 M_o_C joined
s1n TimToady: S02 doesn't say anything about Range's object structure. is it supposed to be isa List? does Positional? 18:54
18:54 szabgab left 18:56 Patterner left, Psyche^ is now known as Patterner
TimToady we need to describe all the basic types in real P6 code 18:57
but anything that is iterable should be coercable to Positional somehow 18:58
s1n well, positional does not imply list
are we expecting _all_ list functionality from ranges, or just positional functionality 18:59
18:59 rindolf joined, jhuni joined
TimToady if you use a range as a list it should behave 18:59
it should be no different from using a range as a part of a list 19:00
s1n std: say "list" if Range isa List
p6eval std 25233: OUTPUTĀ«############# PARSE FAILED #############ā¤Syntax error (two terms in a row?) at /tmp/YxrrSAgmhv line 1:ā¤------> say "list" if Range isa Listā¤ expecting any of:ā¤ infix or meta-infixā¤ infix stopperā¤ standard stopperā¤ statement_mod_loopā¤ 19:01
..terminatorā¤00:03 33mā¤Ā»
s1n well that was stupid
if i did Range isa List, is that true?
TimToady std is a parser, it doesn't know semantics
s1n TimToady: yeah i realized that after-the-fact
TimToady though it knows that "isa" isn't real
perl6: say Range ~~ List 19:02
p6eval rakudo 13f677: OUTPUTĀ«0ā¤Ā»
..pugs: OUTPUTĀ«*** No such subroutine: "&Range"ā¤ at /tmp/GFP5TD9rn0 line 1, column 5 - line 2, column 1ā¤Ā»
..elf 25233: OUTPUTĀ«ā¤Ā»
s1n okay, i'm asking you, does Range isa List evaluate to true?
despite what the current impls say
TimToady no, it would be a does
s1n does list? i didn't know List was a role 19:03
TimToady pretty much everything is a role as well as a class
most of the basic types are punned
s1n so Range does List is valid, not just Range does Positional?
TimToady certainly, you can iterate over a range without using indexes 19:04
s1n hmm, you can iterate over positionals without indices, correct? 19:05
TimToady not really 19:06
iteration over an Array is non-destructive
so something has to keep track of the current index
even if that's hidden in an anonymous spawned iterator 19:07
s1n TimToady: can you give me an example of what you expect Range iterator to look like?
(pseudocode or not example usage) 19:08
TimToady perl6: for 1..10 { .say } 19:09
p6eval elf 25233: OUTPUTĀ«Use of uninitialized value in concatenation (.) or string at ./elf_h line 3849.ā¤syntax error at (eval 120) line 4, near "{->say"ā¤ at ./elf_h line 4346ā¤Ā»
..pugs, rakudo 13f677: OUTPUTĀ«1ā¤2ā¤3ā¤4ā¤5ā¤6ā¤7ā¤8ā¤9ā¤10ā¤Ā»
TimToady biab & 19:10
19:18 PantheraPardus left 19:29 jhuni left 19:37 icwiener left 19:39 mberends_ joined 19:40 mberends_ left 19:44 DemoFreak joined 20:01 DemoPhreak left 20:07 alester left
pugs_svn r25234 | hinrik++ | [util/perl6.vim] adjust which Pod blocks allow implicit code, this makes table blocks highlight correctly 20:12
20:12 alester joined 20:13 aindilis joined, rindolf left
pugs_svn r25235 | hinrik++ | [S26] table the table of config options so it lines up correctly 20:17
literal where is the CSS that's used for the synopses in perlcabal.org/syn ? 20:20
it makes tables (currently only used by S26 I think) look less readable than unstyled Pod HTML 20:21
i.e. big font size, too much space between lines, link-colored text 20:22
alester Hey, talking about what we're putting on rakudo.org
pmichaud and I are brainstorming content.
please look at xoa.petdance.com/What_we_need_on_rakudo.org and comment 20:23
literal a live REPL like I saw on some Ruby page a while back
but I guess you'd need to make a REPL first... 20:24
alester nice, thanks.
that's sweet
I'd love to see that.
literal thats the one: tryruby.hobix.com/
really neat
alester yes, thanks.
pmichaud pugs had one of those also
alester what else?
lambdabot pmichaud: You have 1 new message. '/msg lambdabot @messages' to read it.
alester Can we get pictures of hot women in teeny tank tops saying "Rakudo"? 20:25
I mean, if we want uptake...
literal short videos of hot Japanese women saying "Rakudo" 20:26
alester stealing from ruby.org
* Try Ruby! (in your browser)
* Ruby in Twenty Minutes
* Ruby from Other Languages
I think that would be "purring" Rakudo. 20:27
literal haha
20:29 FurnaceBoy_ joined 20:33 perl7 joined
Tene alester: serious request? 20:34
alester yes
well, wait
is WHAT a serious request?
Tene Video of hot women in little clothing saying "rakudo"
alester I'm not actually looking for the sexist pig approach
No, that's not serious.
Tene Okay. nm, then. 20:35
alester haha
Don't worry.
literal Tene: why, do you have some? 20:36
alester I think Tene is ALWYAS in teeny tank tops that say "Rakudo" 20:37
Cafepress here we come!
20:38 FurnaceBoy left
Tene Oh, the shirt has "rakudo" printed on it. 20:40
I thought you meant "video of a woman speaking the word 'rakudo'" 20:41
alester there was that too
20:57 IllvilJa joined, alester left 21:01 lisppaste3 left 21:02 perl7 left 21:03 alester joined 21:05 mberends left, DemoFreak left 21:06 lisppaste3 joined, DemoFreak joined 21:10 idemal left 21:14 idemal joined 21:24 bacek_ joined, bacek left 21:30 M_o_C left 21:33 justatheory joined 22:17 szabgab joined 22:23 meppl left 22:33 justatheory left
szabgab seems to be lots of silence here, 22:34
I've just uploaded a package to CPAN containing a Perl6 class 22:35
all would be nice but PAUSE did not index it, does anyone know what does PAUSE need for indexing ? Does it try to load the module in memory or is it looking for the package declaration ? 22:36
22:37 aindilis left
pugs_svn r25236 | hinrik++ | [util/perl6.vim] highlight semicolon separators in E<> Pod formatting codes 22:41
22:44 nihiliad left, nihiliad joined 23:02 dalek joined 23:07 Limbic_Region joined 23:11 _shinobicl_ joined 23:12 braceta joined, braceta left 23:13 braceta joined 23:16 _shinobicl_ is now known as shinobi, shinobi is now known as shinobi_cl
pugs_svn r25237 | hinrik++ | [util/perl6.vim] only allow implicit code in =pod/=item/=nested and semantic blocks 23:19
23:26 FurnaceBoy_ left 23:28 shinobi_cl left 23:36 M_o_C joined 23:37 nihiliad left 23:41 justatheory joined 23:47 shinobi_cl joined 23:51 alester left
pugs_svn r25238 | hinrik++ | [util/perl6.vim] match Pod block identifiers more accurately, don't allow formatting codes to span past the enclosing block 23:52