»ö« | 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 {...}; 42Missing 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 expectedin Main (/tmp/b3XlcLxWwG:2)» | ||
moritz_ | rakudo: say "hello".lc.trans('a' => 'A') | ||
p6eval | rakudo 4d21e2: OUTPUT«too few arguments passed (2) - 3 params expectedin 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 |