»ö« | perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend!
Set by Tene on 14 May 2009.
00:00 rocket_guatemala joined
TimToady since it should just return a list object of some sort that .say can handle 00:00
japhb That bug is getting in the way of a perfectly insane JAPH, so it needs to be fixed IMMEDIATELY. ;-)
japhb looks pointedly at a currently on vacation bug fixer. 00:01
TimToady look at it this way, if you go in and fix the code, you'll be even more insane, which makes the JAPH more insane too
japhb heh
japhb tries to weasel out ... <meekly> $day_job </meekly>
TimToady it's after work hours 00:02
japhb Of course, that didn't stop me from working on the JAPH in the first place. :-)
dangit, I want comb in P5. 00:03
rocket_guatemala hey, perl -n -e '...' should wrap the code with: while (=<>) { ... } right?
japhb rocket_guatemala: fishop is no longer.
for $*IN.lines { ... } is preferred. 00:04
rocket_guatemala japhb: ¿fishop?
japhb (and yes, in Perl 6 it is lazy, unlike in Perl 5, where you would fill all of RAM if you sucked in a big file) 00:05
=<>
(looks like a fish)
s/it is lazy/that for loop is lazy/
rocket_guatemala ahh, ok, thanks, ill update the spec test POD acordingly 00:06
ohh, one more question, shouldn't the for use $*ARGFILES instead of $*IN? 00:07
like this for $*ARGFILES.lines { ... }
?
japhb Probably. I haven't followed the latest changes to the special vars, but that sounds right. 00:08
rocket_guatemala thanks, ill use $*ARGFILES instead in the POD
TimToady for lines() {...} is supposed to do that
00:09 DanielC left
japhb TimToady: ah, thanks, I'd forgotten about that magic 00:09
TimToady or for (lines) {...}
unfortunately you can't say for lines {...}
std: for lines {...} 00:10
p6eval std 27073: ( no output )
TimToady std: for lines {...}; 42
p6eval std 27073: OUTPUT«##### PARSE FAILED #####␤Function 'lines' needs parens to avoid gobbling block at /tmp/a4yCbffTle line 1:␤------> for lines {...}; 42␤Missing block (apparently gobbled by 'lines') at /tmp/a4yCbffTle line 1:␤------> for lines {...}; 42␤ expecting any
..o…
rocket_guatemala so, lines without arguments uses the files from the command line, or the stdin, right?
TimToady supposed to, so if you know @ARGS is empty, then you can use lines() instead of $*IN.lines 00:11
00:11 Sunbeam[Pinged] joined
pugs_svn r27074 | rocket++ | Moved test to the corresponding spec folder and added smartlinks. 00:18
00:18 revdiablo joined, revdiablo left 00:22 revdiablo joined 00:23 viklund left 00:26 Sunbeam left 00:39 M_o_C left 00:43 kate21de left, rocket_guatemala left 01:08 Whiteknight left
pmichaud I'm guessing that rakudo doesn't know how to parallel-dispatch >>.() 01:12
rakudo: my @code = { say 'Hello' }, { say 'Goodbye' }; @code>>.(); 01:13
p6eval rakudo de1e9f: ( no output )
StephenPollei rakudo: my $cod = { say 'coi lo mi pendo'} ; $cod.(); 01:21
p6eval rakudo de1e9f: OUTPUT«coi lo mi pendo␤»
01:25 lichtkind left 01:28 amoc is now known as amoc|bbl 01:29 simcop2387 left 01:34 mizioumt left 01:37 amoc|bbl left 02:30 cognominal joined 02:35 justatheory joined 02:38 justatheory left 03:20 donaldh left, donaldh joined
dalek kudo: 4d21e2a | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION.
03:40
03:46 aindilis left 03:53 meppuru joined 03:58 bejuryu joined 04:00 FurnaceBoy left 04:03 buubot left 04:04 eternaleye left 04:09 meppl left 04:10 buubot joined 04:12 kate21de joined 04:14 skids_ left 04:23 eternaleye joined 04:39 justatheory joined 04:41 eternaleye left 04:42 justatheory left 04:43 ihrd joined, eternaleye joined 04:45 ihrd left 04:52 eternaleye left 04:54 eternaleye joined 04:59 Chillance left 05:01 unitxt joined 05:04 ejs joined 05:09 amoc joined 05:10 justatheory joined 05:16 amoc__ joined 05:17 justatheory left 05:27 amoc left, mkfort_ is now known as mkfort 05:32 amoc__ left
pugs_svn r27075 | lwall++ | [STD etc.] various buglets 05:40
05:49 eternaleye left 05:50 eternaleye joined 05:51 eternaleye left 05:52 ejs left 05:53 eternaleye joined 05:57 meppuru left 06:23 molaf joined 06:31 cognominal left 06:48 viklund joined
moritz_ rakudo: say 1.Str ~~ Str 07:00
p6eval rakudo 4d21e2: OUTPUT«1␤»
moritz_ rakudo: say 1.Str ~~ Int
p6eval rakudo 4d21e2: OUTPUT«0␤»
moritz_ so how should I write a test for RT #66366? 07:01
viklund hmm 07:15
rakudo: 1.Str.say
p6eval rakudo 4d21e2: OUTPUT«Int()<0xb6860de8>␤»
viklund rakudo: 1.Str.WHAT
p6eval rakudo 4d21e2: ( no output )
viklund rakudo: say 1.Str.WHAT
p6eval rakudo 4d21e2: OUTPUT«Str()␤»
viklund rakudo: my $s=1.Str; say $s
p6eval rakudo 4d21e2: OUTPUT«Int()<0xb6858cf8>␤»
viklund rakudo: my $s=1.Str; say $s ~~ 1 07:16
p6eval rakudo 4d21e2: OUTPUT«0␤»
moritz_ rakudo: say 1.Str.PARROT
p6eval rakudo 4d21e2: OUTPUT«String␤»
moritz_ rakudo: say "1".PARROT
p6eval rakudo 4d21e2: OUTPUT«Str␤»
viklund aha!
anyway, the problem is that it is Objects str method that is called
rakudo: my $s=1.Str; say $s ~~ 'Int' 07:17
p6eval rakudo 4d21e2: OUTPUT«0␤»
viklund rakudo: my $s=1.Str; say $s ~~/Int/
p6eval rakudo 4d21e2: OUTPUT«Int␤»
viklund rakudo: my $s=1.Str; say $s ~~ /Int/
p6eval rakudo 4d21e2: OUTPUT«Int␤»
moritz_ rakudo: my $s=1.Str; say ?($s ~~/Int/)
p6eval rakudo 4d21e2: OUTPUT«1␤»
moritz_ that might be a possible test 07:18
viklund yes
moritz_ viklund++
viklund moritz_++ # For actually writing the tests
07:20 donaldh left, molaf left, donaldh joined
viklund rakudo: 3.2.say 07:21
p6eval rakudo 4d21e2: OUTPUT«3.2␤»
viklund rakudo: 3.2.Str.say
p6eval rakudo 4d21e2: OUTPUT«Num()<0xb6816b30>␤»
viklund pfft 07:22
rakudo: "string".Str.say
p6eval rakudo 4d21e2: OUTPUT«Str()<0xb6862f20>␤»
viklund wacka, wacka, wacka
moritz_: while your at it add those as well
rakudo: my $s=1.Str; say ?($s ~~/^1$/)
p6eval rakudo 4d21e2: OUTPUT«0␤» 07:23
viklund a positive test on what it should be must be better, right?
07:35 Jedai left 07:48 LCamel joined
moritz_ viklund: right 07:51
07:53 Elder_Hax joined
Tene moritz_: I might have a new feature for you to test soon. 07:56
I have an implementation of async {}, but it crashes because of a Parrot bug. 07:57
08:04 kate21de1 joined 08:05 kate21de left
moritz_ Tene: nice 08:06
mberends Tene: async would be terrific. Will it share variables between threads or keep separate copies?
moritz_ Tene: there are basic tests in t/spec/S17-async/async.t, I just haven't check them for up-to-dateness yet 08:07
08:16 mj41 left 08:17 Guest75822 joined, mj41 joined 08:18 Guest75822 left 08:20 synth left
moritz_ rakudo: 1.Str ~~ / ^ 1 $ / 08:20
p6eval rakudo 4d21e2: ( no output )
moritz_ rakudo: say 1.Str ~~ / ^ 1 $ / 08:21
p6eval rakudo 4d21e2: OUTPUT«␤»
mberends ok, S17 says variables are shared (back to perlothrtut and 5.005) and that ithreads were a "historical diversion".
08:23 sri_kraih joined 08:24 rfordinal left, rfordinal joined 08:26 barney joined 08:32 rfordinal left 08:39 flexibeast left
pugs_svn r27076 | moritz++ | [t/spec] RT #66366 - 1.Str is not a good Str 09:01
09:02 amoc joined 09:03 agentzh left 09:04 agentzh joined
moritz_ rakudo: Perl::Grammar.parse('say(2)') && print $/.perl 09:06
p6eval rakudo 4d21e2: OUTPUT«Null PMC access in invoke()␤in Main (/tmp/2B5JWpQwxO:2)␤»
09:13 M_o_C joined
mberends rakudo: Perl6::Grammar.parse('say(2)') && print $/ 09:14
p6eval rakudo 4d21e2: OUTPUT«say(2)»
mberends rakudo: Perl6::Grammar.parse('say(2)') && print $/.perl
p6eval rakudo 4d21e2: OUTPUT«Method 'perl' not found for invocant of class 'Perl6;Grammar'␤»
moritz_ rakudo: say "hello".flip.PARROT 09:16
p6eval rakudo 4d21e2: OUTPUT«String␤»
moritz_ rakudo: say "hello".flip.lc.PARROT
p6eval rakudo 4d21e2: OUTPUT«String␤»
moritz_ rakudo: say "hello".flip.lc.trans('a' => 'A')
p6eval rakudo 4d21e2: OUTPUT«too few arguments passed (2) - 3 params expected␤in Main (/tmp/b3XlcLxWwG:2)␤»
moritz_ rakudo: say "hello".lc.trans('a' => 'A')
p6eval rakudo 4d21e2: OUTPUT«too few arguments passed (2) - 3 params expected␤in Main (/tmp/uOrBtqi790:2)␤»
moritz_ rakudo: say "hello".lc.flip 09:17
p6eval rakudo 4d21e2: OUTPUT«olleh␤»
pugs_svn r27077 | moritz++ | [t/spec] RT #66366, .flip.trans barfs 09:19
10:04 agentzh left, mib_gb4d0q joined
viklund how do i produce the unicode eqv of >> and <<? 10:12
I know there's a keycombination somewhere...
mberends AltGr-Z and AltGr-X in Gnome 10:13
viklund mberends: ok... 10:14
mberends that really needs to be documented for different GUIs 10:15
10:15 bejuryu left
viklund I need to rebind my xmonad char... 10:17
10:25 viklund left 10:31 DanielC joined
mberends DanielC++ # hi, nice Josephus blog 10:48
DanielC o/
thanks :-)
It sparked some discussion that ended up in a new Perl 6 feature :-) 10:49
.rotate
mberends indeed. that is probably unique to P6: evolving to adapt to the needs of programmers 10:50
moritz_ it's not unique - only its speed is unique
DanielC yeah
moritz_ (I mean the speed of adaption, not the execution speed ;-)
DanielC All languages evolve. Ruby learned a lot from Smalltalk and Perl 5 and made improvements. Perl 6 learned a lot from Ruby and Haskell and made improvements. 10:51
Perl 6 really seems to be going in a good direction.
But yes, right now Perl 6 is evolving fastest. 10:52
mberends moritz_, DanielC : that's more like wot i meant ;)
and it feels like a privilege to be a member of that process 10:53
DanielC yeah
It really does.
moritz_ a privilege that you "paid" for by contributing ;-) 10:54
DanielC It's well worth it. :-)
Khisanth an established language changing rapidly would be very annoying ...
mberends the threshold for contributing is fortunately so low, beginning with trying to use it for something new, asking for help... 10:55
moritz_ Khisanth: right. But many languages are first designed, then released to the public... which means it's more work to change anything later on
Khisanth hmm whether this is good or bad remains to be seen :) 10:56
mberends Khisanth: the growing corpus of applications that people do not want to be broken by change will add inertia, as is the case with Perl 5. 10:59
pugs_svn r27078 | moritz++ | [t/spec] a few unfudges for Rakudo
dalek kudo: e167c92 | moritz++ | t/spectest.data:
3 more files for spectest.t
11:05
DanielC mberends: Have you updated parrot-module-lib ? 11:08
11:08 barney left
DanielC mberends: I've added some interesting stuff for the metadata file. 11:09
mberends git pulls... 11:18
DanielC back in 3min 11:19
11:20 donaldh left, donaldh joined
DanielC back 11:23
mberends DanielC: what was the rationale behind the yaml -> S-expressions switch? 11:24
DanielC Easier to parse. 11:25
I already added a grammar.
It is also easy to extract an s-expression from inside a larger s-expression. 11:26
Just read one character at a time and read brackets. An open bracket is +1, a close bracket is -1. When the counter hits 0 you are done reading. 11:27
Then you can pass whatever string you have to the s-expression parser.
And besides, with proper indentation, the s-expression is no more difficult to read for the human. I showed the YAML and the s-expression to my fiancee. She is not familiar with either format, and she found the s-expression easier to read, thanks to the more liberal use of indentation. 11:29
mberends ok, so if you start in the middle and come to a line with ))))))), you don't try to match all the parens, just count down to 0 nesting. 11:30
DanielC Yeah, like if you want to read all the files about a module, if you can start with "(module" it is easy to make a dumb function that reads all the information for that module as a string so you can give it to the parser. 11:31
mberends yes, that's the most frequent search by far 11:32
DanielC You said earlier that the index file would work by storing a byte offset in the metadata file.
In that case, reading the proper subset of the metadata is as easy as counting brackets. 11:33
11:36 mib_gb4d0q left
DanielC I'm upgrading Ubuntu. I'll have to reboot soon. 11:38
mberends ok, gotta do some more removals work too. 11:39
11:43 DanielC left, amoc left 11:49 synth joined, Whiteknight joined 11:51 DanielC joined
DanielC Upgrade successful! 11:52
mberends :)
DanielC Ubuntu++
Anyways, how do you feel about s-expressions?
11:53 amoc joined
mberends initially surprised, but that's ok. the nearest practical experience was assisting someone with AutoCad scripting many years ago. It may be easier or harder, but as we're working in a modular fashion, there's no problem replacing that part if necessary. the balancing delimiters give it some of the characteristics of xml, which has resulted in some inefficient implementations, but we're in charge of what goes into the data files, so our parser can be 11:57
lean and mean.
DanielC Earlier this week I realized that even a very limited subset of YAML would be hard to parse, so I began exploring alternatives. 11:58
mberends good, these are the pragmatic choices that keep delivering progress 11:59
DanielC I considered XML, SOX, JSON and there was always something I didn't like about it. Eventually I arrived at S-expressions.
mberends but if, say, another contributor does propose another format with advantages, that will be fine too. 12:00
DanielC We can consider other formats of course. 12:01
What led me to S-expressions was pragmatic considerations. It is the easiest thing to parse that I could find. 12:02
mberends it's probably time to move the subroutine source code into either src/ or lib/
DanielC yeah
Either src/ or lib/ is fine with me.
mberends or have both, src/ for .pir and .pg, and lib/ for .pbc
DanielC ok 12:03
sounds goo
*good
12:03 molaf joined
DanielC Did you run "make grammar"? Did that work for you? 12:04
12:04 Meldrake left
mberends yes, that worked. nearly every project uses the name grammar.pg, so a rename to something meaningful for the content would be nice. 12:05
DanielC module-metadata.pg ? 12:06
mberends yes, quite appropriate.
btw, which tool do you use to write the html docs? 12:08
DanielC a text editor.
You mean the .html fie in the git repository?
mberends ok, just thought some of the css might have been autogenerated
DanielC nope 12:09
Is it that bad? :-)
mberends certainly not! more tool dependencies becomes more maintenance overhead
DanielC :-) 12:10
I have never seen a .html editor I like.
They always make crappy html
mberends ditto
12:10 viklund joined
moritz_ same here - which is why I wrote my own offline CMS 12:11
DanielC mberends: I have moved the .pg and .pir files. I don't know how to fix the Makefile. 12:12
I know that the right solution is to have a Makefile in src/ and have he other Makefile call it, but I don't know how to do that.
mberends DanielC: it's ok to leave the Makefile in the project base dir 12:13
12:13 iblechbot joined
mberends multiple Makefiles would not help us much 12:13
DanielC ok 12:14
You are the expert.
mberends oh noes, just hoping to keep it simple :) 12:15
DanielC grammar: src/moule-metadata.pg <-- what's wrong with this line? (Makefile)
oh! 12:16
I'm an idiot.
I can't spell module.
12:16 amoc__ joined, amoc__ left
DanielC Ok, makefile fixed. 12:17
mberends sorry, work afk & 12:18
viklund DanielC: you do know that there's a json parser in the parrot tree, right? 12:25
DanielC viklund: Nope, actually I didn't. 12:26
viklund it's in compilers/json/
also check out t/compilers/json/ for tests
DanielC Oh well, S-expressions look better :-)
viklund mutters 12:27
DanielC But if S-expressions don't work, I'll grab json.
For the things we want, either format would be fine.
It's just some basic metadata.
viklund yes, I just thought I'd tell you...
DanielC Yeah, thanks.
viklund I wonder what happens if I use that parser in rakudo... 12:28
DanielC looks at the json tests
viklund I've already fixed moritz_ JSON::Tiny
DanielC Oh! Right. So Rakudo should be able to read Json.
viklund yes
DanielC Awsum 12:29
viklund we have a pure-perl6 module and there is that parrot thing which might also be usable
DanielC In Json tests, what is the difference between from_parrot.t and to_parrot.t? 12:30
viklund I have no idea, I haven't used it
DanielC They both say "JSON->Parrot conversion"
viklund just seen that it's there
DanielC I was hoping that there would be a two-way conversion.
I think the description might be wrong in from_parrot.t 12:31
viklund DanielC: I do too
anyway
lunch &
DanielC From the file name, that looks like converting parrot to json, not json to parrot.
12:38 viklund left 12:56 skids_ joined 13:00 ruoso joined 13:09 lichtkind joined 13:10 amoc left 13:15 payload joined
lichtkind any elf people here? 13:16
13:23 viklund joined
DanielC viklund! 13:23
viklund: I think we can make the json idea work.
viklund DanielC: ok 13:28
nice
DanielC viklund: JSON shares the property of s-expressions that you can extract a subset by counting brackets, and the subset will still be valid json. 13:29
viklund I'll make sure that we can both produce and consume JSON in rakudo
that's a nice property
DanielC Very important for what we are doing.
viklund isn't that true for YAML as well, but it's on indentation level instead of parens? 13:30
DanielC We can extract a subset of the metadata with a fairly simple function.
viklund if we for the moment disregard that YAML is a little bit harder to parse 13:31
DanielC The same would not be true for a generic YAML document. Think about how you would implement the concept of "indentation" if you are reading the document one byte at a time.
It can be done, but it is much less straight forward.
It's not a simple counter.
viklund it isn't? 13:32
DanielC Open bracket is +1, close bracket is -1, when the counter hits 0 you are finished.
viklund yes, you need two counters
one for indentation level and one for, ehm, the bracket equivalent
anyway, I'm not trying to convince you to use YAML 13:33
DanielC How do you compute the indentation level? Think about that.
Look for a new line character, count spaces, and figure out how many spaces make up one indentation level.
Compare that with just checking if the current character is '(' or ')' 13:34
viklund count spaces after nl... (ok, three counters, one for the number of spaces since last nl, one for the number of spaces on then last line and one for the bracket eqiv)
yes, but it still has the property that sub-YAML is YAML 13:35
which was my point
DanielC And figure out that "\n\s\s-\sfoo" and "\n\s\s\s\sbar" have the same indentation level.
viklund yeah, yeah, your talking about details in parsing, I wasn't saying we should do it
I'll see if we can use that Parrot json in rakudo ;) 13:36
DanielC Well, yes, I'm talking about the details of actually getting the thing to work :-)
viklund pfft
13:37 mizioumt joined
DanielC The reason I started looking for alternatives is that I realized that even a very simplified subset of YAML would still be hard to parse. 13:37
Remember, we have an assembly-type language here.
viklund yes, that's what masak said too ;)
DanielC Yeah.
That's when I set out to find something that is easier to parse with the tools we have. 13:38
Easy to parse++ 13:40
:-)
Laziness++
viklund splice is incredibly slow in rakudo atm 13:47
DanielC :-(
viklund @s.shift for ^10 is a lot faster than @s.splice(0,10) 13:48
lambdabot Unknown command, try @list
viklund it differs around a factor of 4 in speed with 10 elems 13:49
13:50 payload left 14:02 elmex left
DanielC viklund: Btw, we were right, from_parrot.t actually shows how to convert Parrot to JSON. 14:05
So Parrot offers a two-way conversion to Json.
Very nice.
14:12 payload joined
viklund yes, it is 14:13
DanielC Currently I think Json looks like the most promising option. 14:14
(1) We can extract a subset by counting brackets and (2) we get a two-way conversion for free. 14:15
viklund (3) There's a half Perl6 module for it 14:17
DanielC mberends wants to do everything in PIR.
viklund yes, but having the ability to do stuff from p6 can't hurt ;) 14:18
DanielC sure
14:20 meppl joined 14:29 payload1 joined 14:31 bejuryu joined 14:45 payload left 14:55 DanielC left 15:01 FurnaceBoy joined 15:02 FurnaceBoy left, FurnaceBoy joined 15:13 amoc joined 15:18 justatheory joined
lichtkind ruoso: PING 15:19
15:20 donaldh left, donaldh joined 15:22 simcop2387 joined 15:24 jferrero joined 15:26 jferrero left
viklund compiling... 15:28
15:29 DanielC joined 16:00 payload1 left 16:02 elmex joined 16:09 Sunbeam[Pinged] is now known as Sunbeam 16:17 justatheory left 16:21 payload joined 16:29 Psyche^ joined, Sexygirl joined, Sexygirl left 16:31 amoc__ joined 16:34 DanielC left 16:40 Sexygirl joined, Sexygirl left 16:41 Patterner left, Psyche^ is now known as Patterner 16:42 icwiener joined, amoc__ left 16:43 amoc left 16:50 payload left 16:54 lollan joined 16:55 lollan left 17:06 Whiteknight left 17:07 DanielC joined 17:22 perl7 joined 17:23 nihiliad joined
DanielC I need help with git. How do you undo a commit? 17:23
viklund_ DanielC: check out the previous one 17:24
DanielC how?
viklund_ I think you can do it with 'git co ^HEAD'
DanielC Git is an idiot. It doesn't give me the option to cancel a commit before it's done. 17:25
viklund_ huh?
you can reset the index
DanielC I actually haven't committed yet, but git sent me straight to the editor so all I can do is type in a comment.
How?
viklund_ if you quit without saving, I think it doesn't commit 17:26
DanielC I want to undo/erase the last commit.
viklund_ have you commited or not?
DanielC yeah, I have
viklund_ ok
git co ^HEAD
checkout
sry, git checkout ^HEAD
I think 17:27
DanielC git checkout ^HEAD => error: pathspec 't/^HEAD' did not match any file(s)
viklund_ ahh
git-reset seems to be what you want
git reset --hard HEAD^
DanielC command not found: git-reset 17:28
viklund_ www.kernel.org/pub/software/scm/git...reset.html
what?
17:28 nihiliad left
DanielC Ok, it seems to have done something. 17:28
viklund_ not found?
DanielC The -
git-reset vs git reset
viklund_ both should work
DanielC git-reset does not.
17:29 nihiliad joined
viklund_ oh, well, they do here, your distributor must repackage git and remove them 17:29
somehow
DanielC wait... FUCK
git actually reverted my changes. 17:30
I just lost my work.
I wanted to undo the commit, but that doesn't mean "delete my work".
DanielC re-types his work
DanielC grumbles
viklund_ sry
viklund_ ducks
it was --soft you needed 17:31
viklund_--
DanielC thanks, I know now for next time.
viklund_ I should have asked what you wanted more specifically before answering with --hard...
DanielC No worries.
There wasn't that much in the patch anyways. 17:32
I got lucky.
viklund_ exhales
DanielC :-)
viklund_ anyway, my JSON-generator is comming along nicely 17:33
DanielC Json for rakudo?
viklund_ yep
parsing works I hope, now it's only generation left
DanielC Good stuff. Make it into a module so people can download it.
viklund_ oh, its in moritz_++ github repo 17:34
it's very un-pp right now though 17:35
DanielC un-pp ?
viklund_ un-pretty-printed
DanielC ok
17:44 Elder_Hax left 17:46 synth left, nihiliad left, synth joined 17:52 synth left 17:53 synth joined 17:57 unitxt left 17:58 nihiliad joined 18:00 SteppenwolfII joined 18:02 SteppenwolfII left, perl7 left 18:05 hcchien left, pugs_svn left, AzureStone left, japhb left, cls_bsd left, PacoLinux left, Khisanth left, jdv79 left, Lorn left, gabiruh left 18:06 hcchien joined, pugs_svn joined, AzureStone joined, japhb joined, cls_bsd joined, jdv79 joined, PacoLinux joined, Khisanth joined, Lorn joined, gabiruh joined, cxreg joined 18:07 Khisanth left
viklund_ Ha 18:10
rakudo: say False ~~ False
p6eval rakudo e167c9: OUTPUT«0␤»
viklund_ rakudo: say True ~~ True
p6eval rakudo e167c9: OUTPUT«1␤»
viklund_ I buy that, but how do I test that I really get a False? 18:11
rakudos Test.pm:is_deeply needs updating
TimToady rakudo: say False.WHAT.Str 18:13
p6eval rakudo e167c9: OUTPUT«Bool()<0x85b36d0>␤»
TimToady say False.int
viklund_ last_ditch_stringify...
TimToady rakudo say False.int
rakudo: say False.int
geh
p6eval rakudo e167c9: OUTPUT«0␤»
TimToady rakudo: say False.int ~~ 0
p6eval rakudo e167c9: OUTPUT«1␤»
viklund_ that's a way 18:14
thx TimToady++
TimToady rakudo: say False.Str
p6eval rakudo e167c9: OUTPUT«Bool()<0xb67d0b48>␤»
TimToady that's wrong
viklund_ is_deeply doesn't look at Bools at all
TimToady rakudo say ~False
rakudo: say ~False
p6eval rakudo e167c9: OUTPUT«0␤»
TimToady that's better, but they ought to be the same 18:15
rakudo: say False.name
p6eval rakudo e167c9: OUTPUT«Method 'name' not found for invocant of class ''␤»
TimToady unimpl, i guess
viklund_ yes, and it's been like that since, uhm, at least Tuesday 18:16
rakudo: say ~False ~~ ~False 18:17
p6eval rakudo e167c9: OUTPUT«1␤»
viklund_ rakudo: say ~True ~~ ~True
p6eval rakudo e167c9: OUTPUT«1␤»
viklund_ rakudo: say ~True ~~ ~False
p6eval rakudo e167c9: OUTPUT«0␤» 18:18
viklund_ rakudo: say ~False ~~ ~True
for completeness
p6eval rakudo e167c9: OUTPUT«0␤»
18:18 pochi joined
TimToady viklund++ 18:18
biab & 18:19
18:20 Khisanth joined
StephenPollei hmm S02 mention Bit but not Bool as far as I sw, maybe I was blind, I'm trying to get list of types to test for there existence for svn.pugscode.org/pugs/t/spec/S02-bu.../declare.t 18:23
TimToady S02 mentions Bool 18:24
well, see src/perl6/CORE.pmc for the names that STD knows 18:25
StephenPollei I most of have been blind, I'll double double check check, because obviously I missed at least one thing
ok thanks
TimToady line 977
viklund_ is {} a hash or a block? 18:28
rakudo: {}.WHAT.say
p6eval rakudo e167c9: OUTPUT«Hash()␤»
viklund_ hmm
rakudo: {;}.WHAT.say
p6eval rakudo e167c9: OUTPUT«Block()␤»
viklund_ good 18:29
rakudo: { }.WHAT.say
p6eval rakudo e167c9: OUTPUT«Hash()␤»
18:36 pochi left
breinbaas hello. Anyone know whe 18:36
sorry, wrong channel 18:37
StephenPollei hmm I must really be blind `find . -name CORE.pmc -print` didn't find anything either, you are talking about git://github.com/rakudo/rakudo.git
viklund_ it's in pugs svn I think 18:38
18:38 vreg joined
StephenPollei pugs/src/perl6/CORE.pad found but not CORE.pm 18:39
it has list of types as well though, perhaps CORE.pm is generated file and I've only built rakido not pugs 18:40
18:46 mizioumt left
viklund_ is this correct behaviour: 18:50
18:50 pochi joined
viklund_ rakudo: my $s; $s.map(**2) 18:50
p6eval rakudo e167c9: OUTPUT«Use of uninitialized value␤»
viklund_ rakudo: my $s; $s.grep({$^s}).map(**2)
p6eval rakudo e167c9: ( no output )
viklund_ it probably is 18:51
18:52 icwiener_ joined
TimToady sorry, CORE.pad 18:55
18:55 pmurias joined
pmurias DanielC: how do you think perl6 borrowed from ruby? 18:56
TimToady rakudo: say **.WHAT 18:57
p6eval rakudo e167c9: OUTPUT«!whatever_closure␤»
StephenPollei not a problem TimToady, also CORE.pad only has 374 lines, I apologize if I ask dumb questions though trying to get up to speed
TimToady it's not (yet) generated, though presumably reflects (part of) what a compiler would spit out 18:58
I don't think rakudo knows about the ** term yet
viklund_ rakudo: my $s=2; $s.grep({$^s}).map(**2) 18:59
p6eval rakudo e167c9: ( no output )
TimToady rakudo: say WHAT(**)
p6eval rakudo e167c9: OUTPUT«Statement not terminated properly at line 2, near "*)"␤in Main (src/gen_setting.pm:0)␤»
viklund_ rakudo: my $s=2; say $s.grep({$^s}).map(**2)
TimToady no, it doesn't
p6eval rakudo e167c9: OUTPUT«4␤»
viklund_ that works ;)
TimToady std: **2
p6eval std 27078: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/cLbQQ4jh1z line 1:␤------> **2␤ expecting any of:␤ POST␤ infix or meta-infix␤ infix stopper␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤ statement
..modifier loop␤ terminator␤ whitespace…
TimToady it shouldn't
DanielC pmurias: Everything is an object.
TimToady well, ruby's not the only language where that's true
but perhaps ruby put on a bit more pressure than the other languages 19:00
DanielC TimToady: afaik Ruby took that idea form Smaltalk, didn't it?
TimToady yes
DanielC So you can say that Perl 6 borrows from either Smalltalk or Ruby (pick one :) 19:01
TimToady why only one? :)
DanielC :)
TimToady can you think of anything else?
DanielC Not right now. 19:02
TimToady twigils, kinda
ruby uses sigils for what p6 uses twigils for
DanielC I didn't realize Ruby had twigils :-)
ah, yes.
TimToady to indicate weird scoping
DanielC Yeah, like @ means "object attribute" 19:03
TimToady but the problem with using sigils for that is you quickly run out of keys on the keyboard
and @@
pmurias unless you are crazy enough to use alphanumerics :)
TimToady another one, the *idea* of marking mutators, but not the specific syntax 19:04
DanielC pmurias: Any variable with the letter "e" is global :-)
pmurias :) 19:05
TimToady and if it starts with i,j,k,l...
19:05 icwiener_ left 19:08 icwiener left
FurnaceBoy :) 19:08
TimToady I remember being astounded the first time I looked at a Fortran program, and saw: 19:10
i=x
x=i
DanielC ??? That doesn't swap x and i does it?
TimToady nope 19:11
DanielC phew
StephenPollei a through j were intergers the rest reals or something... I think it rounds it
DanielC So "i" is always an integer?
StephenPollei hence the joke God is real unless declared integer 19:12
TimToady yes, unless you changed your IMPLICIT declaration :/
StephenPollei I think unless declared otherwise it's always int
DanielC That is so weird. 19:13
I can't imagine why anyone would design a language like that.
StephenPollei terseness and they needed some variable of each type
TimToady think of what fortran means 19:14
Formula Translator
mathematicians know that i is an integer :)
viklund_ DanielC: Now we have JSON::Tiny for rakudo: github.com/moritz/json
DanielC *click*
viklund_ the only thing missing is pod :( 19:15
DanielC Good work.
Why is it "Tiny" ? 19:16
viklund_ ::Grammar and ::Actions were more or less done by moritz_, I only fixed a few bugs
ask moritz_
it doesn't have all the features of the p5 JSON::PP?
afk supper 19:17
19:20 donaldh left, donaldh joined, ejs joined 19:31 bejuryu left 19:39 ejs left 19:56 synth left 19:58 justatheory joined 20:13 justatheory left 20:21 Limbic_Region joined 20:25 Chillance joined 20:35 payload joined 20:37 M_o_C left 20:38 jlaire joined
moritz_ "tiny" because it tries to do as little as possible 20:46
ie not constructing user defined objects or so
StephenPollei laziness is a virtue 20:49
21:09 payload left 21:11 justatheory joined
lichtkind still no elf people here? 21:19
pmurias lichtkind: mncharity is rarely here nowdays 21:20
lichtkind pmurias: does that mean he isnt active? 21:21
pmurias not anymore
lichtkind hm 21:24
pmurias lichtkind: that did you want to ask about elf? 21:25
lichtkind pmurias: some general questions for the perl 6 interpreter page on november
pmurias: do you have some insights? 21:27
21:30 kate21de1 left 21:35 sri_kraih left 21:50 Limbic_Region left 21:58 viklund left 22:01 pmurias left 22:09 payload joined 22:11 ponyup joined 22:15 FurnaceBoy left 22:29 buubot left, buubot joined 22:31 ponyup left
pmichaud Good afternoon, #perl6 22:31
22:49 molaf_x joined, molaf left
StephenPollei rakudo: my True $foo; $foo.isa(True).say 22:52
p6eval rakudo e167c9: OUTPUT«1␤»
StephenPollei pugs: my True $foo; $foo.isa(True).say
p6eval pugs: OUTPUT«␤»
StephenPollei hmm didn't expect True and False to be types is that correct? 22:53
dalek kudo: 77f9d70 | pmichaud++ | docs/ (2 files):
Some more updates in preparation for Thursday's release.
22:54 sri_kraih joined
pmichaud right now Rakudo doesn't really handle True/False correctly. 22:54
we've been waiting to get a bit more of an official determination as to what they are exactly, and how they relate to .Bool, .true, etc.
at one point Bool was an enum (maybe it still is?), and so the True/False values were part of the enumeration (and thus acted like types) 22:55
StephenPollei ok just going through this right now to see what are types svn.pugscode.org/pugs/src/perl6/CORE.pad 22:56
some of it is stuff not in the synopsis as far as I saw so far
pmichaud that's almost certainly true. 22:57
StephenPollei so I also don't know if my tests would be good tests 22:58
23:00 justatheory left
TimToady lichtkind: mncharity is one of my "hares"; blaze of speed for several days, then a several week snooze till the next sprint. 23:00
sjohnson as opposed to a toady!
well, turtle 23:01
TimToady that woudl be a torty
*would
sjohnson heheh
TimTorty
TimToady: OT question.. but do you know any sleight of hand with playing cards? 23:02
you seem to also like my other hobbies
maybe there's a chance you're good at this too
StephenPollei pugs: my Proxy $foo; $foo.isa(Proxy).say
p6eval pugs: OUTPUT«1␤»
StephenPollei like that .. is it pugs specific or does it have a generic purpose?
rakudo: my Proxy $foo; $foo.isa(Proxy).say 23:03
p6eval rakudo e167c9: OUTPUT«Malformed declaration at line 2, near "Proxy $foo"␤in Main (src/gen_setting.pm:0)␤»
lichtkind TimToady: thanks
TimToady sjohnson: not really, wasn't raised playing cards much
sjohnson TimToady: i recorded this last night at 4am with birds chirping.. can you see the secret? www.youtube.com/watch?v=R3Yke-hWABU 23:04
TimToady there's a single mention of Proxy in S06 23:05
don't have flash
StephenPollei OH ok then it's just I don't know the synopsys stuff well enough 23:06
TimToady that's what grep is for :)
or ack 23:07
buubot: spack Proxy
buubot Couldn't match input.
StephenPollei ack? did you mean ask?
TimToady er, wrong bot
phenny: spack Proxy
23:07 iblechbot left
StephenPollei oh ok I don't know the bots here well 23:07
TimToady oh, I killed it 23:08
sjohnson TimToady: maybe another time then
TimToady ack is a recursive grep
StephenPollei I forget where the the synopsis stuff is stored as files I just use perlcabal.org/syn/ .. will search
23:09 ruoso left
TimToady if you have a pubs repo, it's just in docs/Perl6/Spec 23:09
I just leave a window parked there, so I don't have to remember 23:10
pmichaud I usually do svn.pugscode.org/pugs/docs/Perl6/Spec 23:11
(keep it bookmarked in the browser)
23:12 ruoso joined
TimToady doesn't help with the grep though... 23:13
23:20 donaldh left, M_o_C joined 23:21 donaldh joined
lichtkind good night 23:21
23:21 lichtkind left 23:22 buubot left
sjohnson TimToady: do you drink? ie, a beer at a Perl conference from time to time? 23:22
StephenPollei ok yes I found it 23:24
DanielC @seen mberends 23:35
lambdabot mberends is in #perl6. I last heard mberends speak 11h 17m 8s ago.
DanielC :(
@seen masak 23:36
lambdabot I saw masak leaving #perl6 1d 3h 44m 35s ago, and .
TimToady sjohnson: mostly I try to have a glass of wine every day because my family history of heart disease 23:39
also have to be careful with beer, since some of it is wheat based, and I'm allergic to wheat
sjohnson maybe someday i will get to buy you a non-wheat based beer 23:40
TimToady (nice thing about German beer is that it must be labelled as wheat beer if it is.)
but around here you have to be careful 23:41
DanielC I have never enjoyed beer. Everybody seems to like it, and it appears to be the standard drink of hackers, but I don't like it at all. I'm weird.
I enjoy various wines and cocktail drinks.
StephenPollei rakudo: my Matcher $foo; $foo.isa(Matcher).say 23:46
p6eval rakudo 77f9d7: OUTPUT«Method 'isa' not found for invocant of class ''␤»
sjohnson DanielC: how many beers have you had in your life? it took me around 20 or so before i really enjoyed it
StephenPollei rakudo: my Role $foo; $foo.isa(Role).say
p6eval rakudo 77f9d7: OUTPUT«Method 'isa' not found for invocant of class ''␤»
sjohnson so there was a transition phase
DanielC sjohnson: I have had a lot less than 20. My attitude is, if I don't like the first one, why should I drink another 19 to make myself like it? Liking beer is not a goal in my life. 23:47
23:47 synth joined
DanielC sjohnson: I have probably had around 4-5 beers in my life. 23:48
sjohnson a cold beer feels very nice on a hot summer day
if someone offers you one cause that's all they have, then the acquiring of the taste is worth it
TimToady I've had enough of them to know that there's a difference between a good amount of hops and too many :)
sjohnson ie, too spicy? 23:49
DanielC One when I was younger, one in university, one on a trip to Poland, and one at my fiancee's home because her dad brought me a beer and I didn't want to say "no".
TimToady no, too bitter
I like the bitter to balance with the rest of the flavor, not dominate it
araujo wonders if TimToady writes specs and drinks at the same time
StephenPollei OT best beer I've ever had was when I went to Belgium
DanielC A cold lemonade probably feels nicer on a hot day.
TimToady araujo: if I do, I review the next morning before sending it off :) 23:50
sjohnson StephenPollei: i've heard that too
araujo TimToady, hahaha 23:51
DanielC sjohnson: Most of the time, people have clean running water at home. I like water. If the only artificial drink someone has is beer, I will be happy with water.
TimToady there are parts of the world where you'd better expect to get acquainted with the local microfauna before you can appreciate the local water... :) 23:53
sjohnson mexico is a good example
well, bottled water will do
in mexico, it's almost impossible to get drunk
it's so hot out i wonder if the alcohol is sweating out of my pores
DanielC TimToady: I know. I am originally Venezuelan. You don't drink tap water there, but most middle class people have a filter or something. 23:54
TimToady: The bigger problem is that some Venezuelans might be offended if you ask for water. Because water is so cheap, they feel like you asked for nothing. 23:55
sjohnson all this beer talk is making me thirsty
DanielC Which is stupid IMHO. I honestly like water.
sjohnson yeah i like water too 23:56
TimToady people don't value cheap software much either :)
DanielC :-)
sjohnson well i paid for my copy of perl
DanielC sjohnson: did you really? 23:57
sjohnson nah just kidding around 23:58
although, if it was bundled with the camel book 5th edition for 19.99, i would have paid for it
in book form though
i got my boss to pay for it at work, but it was quite expensive unfortunately
but the value gained from me actually knowing how to program in it, it was worth it 23:59
DanielC The book?
sjohnson yeah
DanielC checks in amazon
sjohnson amazon has it nicely priced
yeah, if he bought it from amazon