»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:04
angelolicastro joined
|
|||
dalek | kudo/nom: 5541810 | pmichaud++ | / (5 files): Update all &infix:<cmp> operators to return Order::Decrease/Same/Increase. |
00:04 | |
ast: d09de35 | pmichaud++ | integration/advent2009-day20.t: Modify spectest for new .perl output but it seems reasonable to keep for a while longer.) |
00:06 | ||
ast: 2b52ada | pmichaud++ | S (7 files): Merge branch 'master' of git://github.com/perl6/roast |
|||
ast: fa3ea8f | pmichaud++ | S03-operators/cmp.t: [S03] Add Inf/Pair cmp tests. |
|||
00:14
lestrrat left,
lestrrat joined
00:26
spider-mario left
00:30
replore_ joined
00:33
havenn joined
00:34
havenn left
00:47
thelazydeveloper left
00:50
Patterner left
00:56
Psyche^ joined,
Psyche^ is now known as Patterner
00:59
scott_ joined,
scott_ is now known as Guest92805
01:26
vlixes joined
01:36
Khisanth left
01:40
sisar joined
01:49
Khisanth joined
01:54
Enstyne joined
01:55
Enstyne left,
whiteknight left,
ens_ joined
01:57
ens left
02:02
pun left
02:16
tokuhirom left
02:26
harukomoto left
02:46
kst` joined,
machine5 joined
02:47
pochi_ joined
02:48
ens joined
02:50
ens_ left
02:52
machine1 left,
mdupont left,
cotto left,
kst left,
arnsholt left,
pochi left,
yeltzooo7 left,
tkr left
02:55
machine5 left,
FACEFOX-DOT-COM left,
FACEFOX left
02:56
orafu left
02:57
envi_ joined
02:58
orafu joined,
FACEFOX-DOT-COM joined
03:00
sisar left
03:02
FACEFOX joined
03:05
machine1 joined
03:17
angelolicastro left
03:25
ponbiki joined
03:59
cognominal_ left
04:00
mdupont joined,
cotto joined,
tkr joined,
arnsholt joined,
yeltzooo7 joined
04:01
cognominal joined
04:06
cognominal left
04:08
cognominal joined
04:09
FACEFOX-DOT-COM left
04:10
FACEFOX-DOT-COM joined,
FACEFOX-DOT-COM left
04:11
FACEFOX-DOT-COM joined
04:33
cognominal left
04:34
cognominal joined
04:37
libertyprime left
04:47
machine1 left
04:48
FACEFOX left
04:49
lestaway joined
04:50
mathw_ joined,
moritz_ joined,
[Coke]_ joined,
BooK__ joined,
FACEFOX joined
04:51
pjcj_ joined,
domidumont1 joined
04:53
ponbiki left
04:56
ocharles- joined
04:57
lestrrat left,
geistteufel left,
revdiablo left,
sudokode left,
moritz left,
[Coke] left,
infosophy left,
dju left,
zostay left,
pochi_ left,
vlixes left,
DarthGandalf left,
nebuchadnezzar left,
xenu left,
daniel-s left,
integral left,
jlaire left,
domidumont left,
lestaway is now known as lestrrat,
ocharles- is now known as ocharles,
replore_ left
04:59
infosophy joined,
infosophy is now known as Guest93445
05:00
FACEFOX-DOT-COM left
05:01
machine1 joined
05:02
FACEFOX left
05:06
FACEFOX-DOT-COM joined,
replore_ joined
05:07
FACEFOX joined
05:09
birdwindupbird joined
05:12
geistteufel joined,
revdiablo joined,
sudokode joined,
huf joined,
SHODAN joined,
BinGOs joined,
Woodi joined,
dju joined,
zostay joined
05:13
daniel-s joined
05:14
WAAPLCK joined,
HarryS joined,
pochi_ joined,
DarthGandalf joined,
integral joined,
jlaire joined,
mikemol joined,
cj joined,
jrockway joined,
xenu joined,
HarryS left,
geistteufel left
05:15
bip` joined,
xenu is now known as Guest33117
05:16
machine1 left,
FACEFOX left
05:18
GlitchMr joined,
tadzik1 is now known as tadzik
05:20
FACEFOX joined
05:23
machine1 joined
05:38
birdwind1pbird joined
|
|||
dalek | rl6-bench: 96cb3a1 | (Geoffrey Broadwell)++ | bench: s/_cmd/_run/g in preparation for handling compilers with separate compile and run passes |
05:47 | |
rl6-bench: f8fad85 | (Geoffrey Broadwell)++ | bench: Handle compilers that need separate compile and run passes; factor out config for name/path of various VMs; only run enabled compilers; add p5.js_v8, p6.js_v8, and p6.pl compilers; whitespace cleanups |
|||
japhb | phenny, tell fglock As of this latest push, it looks like perlito5.js running on node.js is failing completely ('node.js:63 throw e;'), but perlito5.js running on d8 is working well. | 05:50 | |
phenny | japhb: I'll pass that on when fglock is around. | ||
05:52
harukomoto joined
|
|||
japhb | phenny, tell fglock Also, perlito6.pl is failing on rc-forest-fire ('Missing value after operator > at lib5/Perlito6/Expression.pm line 286.') but works fine on the easier stuff. perlito6.js running on d8 hangs at 100% CPU on rc-forest-fire but again, works on the easy stuff. | 05:52 | |
phenny | japhb: I'll pass that on when fglock is around. | ||
japhb | Wheee, that's 9 combinations of language/compiler/VM that perl6-bench is testing. Now I just need to get pugs working locally and being tested by perl6-bench, and I think that will cover that particular line of development pretty well. Then of course there's the whole "adding more tests" dimension .... | 05:55 | |
05:55
kaleem joined
05:56
wtw joined
05:57
harukomoto left
|
|||
japhb | phenny, tell fglock Correction: perlito6.js running on d8 appears to hang during *compile*. Perhaps I just need to let it run a lot longer .... | 05:57 | |
phenny | japhb: I'll pass that on when fglock is around. | ||
japhb | Resting brane & | ||
05:58
HarryS joined
06:00
mucker joined
06:07
birdwind1pbird left
06:14
lestrrat left
06:15
lestrrat joined
06:17
GlitchMr left
06:25
nebuchadnezzar joined
06:29
bip` is now known as geistteufel
06:39
replore_ left
06:53
sisar joined
07:03
noam_ is now known as noam
07:17
mucker left
07:25
mucker joined
07:29
mucker left,
mucker joined
07:33
jaffa4 joined
|
|||
jaffa4 | hi | 07:33 | |
how to set the include path for niecza? | |||
sorear | -I | 07:34 | |
jaffa4 | And inside the p6? | ||
sorear:WHy did you modidy std.p6? | 07:35 | ||
sorear | Because TimToady didn't have enough tuits | ||
jaffa4 | tuit? | 07:36 | |
sorear | I think 'use lib' works | ||
jaffa4 | tutoriak? | 07:37 | |
sorear | tuit is a well established pun | 07:38 | |
I will do this when I get around to it | |||
I will do this when I get a round tuit | |||
DrEeevil throws a round "tuit" at sorear | 07:39 | ||
now do it! kekeke | |||
jaffa4 | manana? | 07:41 | |
sorear: have you though about using some kind of caching mechanism? | 07:44 | ||
for compilation? | |||
sorear | thought about it? I did it more than a year ago | 07:45 | |
jaffa4 | How to use it? | ||
Something along the line of precompiled headers | 07:46 | ||
sorear | it's completely automatic. | ||
jaffa4 | precompiled modules | ||
sorear | you cannot not use it. | ||
jaffa4 | so it means the second compilation is always faster, does not it? | 07:48 | |
07:50
daniel-s left
|
|||
sorear | jaffa4: if you are using modules, yes | 07:50 | |
jaffa4 | sorear: great, I can see it is working | 07:53 | |
07:55
fhelmberger joined
|
|||
jaffa4 | sorear: I cannot use your std.pm... I get an error Unable to resolve method cursor_fresh in class STD | 08:01 | |
sorear | my STD.pm6 is designed to be the frontend to a compiler, nothing more | 08:03 | |
jaffa4 | Meaning what? I should not be able to parse perl 6 with it? | 08:04 | |
sorear | Meaning that using it outside of niecza will be *hard* | 08:05 | |
08:06
replore_ joined
08:08
daxim joined
|
|||
jaffa4 | sorear: because? | 08:13 | |
08:15
localhost left,
huangjs joined
|
|||
sorear | jaffa4: you've already started to see it - you'll have to write your own cursor_fresh and a thousand other interface routines | 08:22 | |
frettled | masak++ nice blog entry | ||
sorear -> sleep | 08:23 | ||
jaffa4 | sorear: bye | ||
frettled | masak: both, really | 08:25 | |
masak | ;) | 08:28 | |
morning, #perl6 | |||
08:28
dakkar joined
|
|||
frettled | indeed! | 08:30 | |
With any luck, moritz has now listened to Damian's talk at GoOpen 2012. | |||
Guest93445 | was it filmed? | 08:31 | |
08:31
Guest93445 is now known as infosophy
|
|||
infosophy | ...the keynote, I mean. | 08:31 | |
frettled | Damian usually does not permit his talks to be recorded, IIRC. | 08:32 | |
08:32
huf left
|
|||
infosophy | aye - remembered him saying so at the necrolinguaphilia talk. but a keynote could be a bit different. | 08:33 | |
masak | I've seen a recording of an earlier version of the talk he gave on Thursday. | 08:34 | |
frettled | Ah, wait, he was supposed to start at 10:10 and finish at 10:40, I misremembered the times. | 08:35 | |
08:35
xenu joined
|
|||
frettled | masak: oh! | 08:35 | |
08:35
xenu is now known as Guest77831
|
|||
frettled | I know someone who would like to see that, hee-hee. | 08:36 | |
08:36
Guest33117 left
08:38
rafl left
08:39
huf joined
|
|||
frettled | Google to the rescue! | 08:39 | |
infosophy | was that an introductory talk as well? | 08:40 | |
08:40
rafl joined
|
|||
infosophy | chould we expect an advanced presentation on temporally quaquaversal virtual nanomachine programming in multiple topologically connected quantum-relativistic spacetimes? | 08:41 | |
s/chould/should/ | 08:42 | ||
masak | I'd *attend* one, but I doubt it's forthcoming. | 08:46 | |
infosophy | he could seek sponsorship from major pharmaceutical companies... the topic is sure to bring on major headaches | 08:55 | |
frettled | It might help in making LSD legal. | ||
08:56
cognominal left
|
|||
infosophy | I find myself having been being having a migraine level headache just thinking about it. | 08:56 | |
08:56
cognominal joined
|
|||
masak | lichtkind: er. what kind of git setup do you have that adds Emacs backup files before a commit? :) | 08:59 | |
09:04
sisar left
09:05
sisar joined
|
|||
flussence | whoa, stuff's been happenin' | 09:15 | |
09:24
replore_ left
09:25
xinming joined
|
|||
masak | yes. | 09:26 | |
there's been a hackathon. | |||
09:28
xinming_ left
|
|||
frettled | and people have been hacking | 09:30 | |
09:32
fglock joined
|
|||
jaffa4 | that is a crime | 09:36 | |
masak | not in the sense used in programmer circles. | ||
jaffa4 | By the way, how would you parse perl 6 using niecza? | 09:37 | |
fglock | o/ | ||
phenny | fglock: 22 Apr 23:10Z <japhb> tell fglock Oooh, good news! Erm, unfortunately perlito5.js doesn't seem to be running under node.js anymore. I get "\nnode.js:63\n throw e;\n ^\n" | ||
fglock: 05:50Z <japhb> tell fglock As of this latest push, it looks like perlito5.js running on node.js is failing completely ('node.js:63 throw e;'), but perlito5.js running on d8 is working well. | |||
fglock: 05:52Z <japhb> tell fglock Also, perlito6.pl is failing on rc-forest-fire ('Missing value after operator > at lib5/Perlito6/Expression.pm line 286.') but works fine on the easier stuff. perlito6.js running on d8 hangs at 100% CPU on rc-forest-fire but again, works on the easy stuff. | |||
fglock: 05:57Z <japhb> tell fglock Correction: perlito6.js running on d8 appears to hang during *compile*. Perhaps I just need to let it run a lot longer .... | |||
fglock | looking... | ||
jaffa4 | masak: any ideas? | 09:38 | |
masak | I would say "hacking" is used in senses 4 and 5 from www.hackersdictionary.com/html/entry/hack.html | ||
jaffa4: no, but sorear would know. | 09:39 | ||
jaffa4 | masak: I was just joking | ||
and in rakudo? | 09:40 | ||
09:41
cognominal left
09:42
cognominal joined
|
|||
jaffa4 | masak: what about rakudo? | 09:43 | |
masak | jaffa4: well, "that is a crime :-P" would have made it clear you were joking. without the smiley, it wasn't clear. | ||
jaffa4: you used to be able to get ASTs out in Rakudo, in alpha or ng. but they were useless, or Rakudo would crash. | 09:44 | ||
I haven't tried it in nom. feel free to try. | |||
09:47
cognominal left
|
|||
jaffa4 | The code of std: which is working on the channel? Can it be found somewhere? | 09:48 | |
masak. | 09:50 | ||
frettled | jaffa4: if it can be found somewhere, I would not be surprised if it was on github in the perl6 repo | ||
masak | it is. | ||
github.com/perl6/std | 09:51 | ||
github.com/perl6/std/blob/master/STD.pm6 | |||
09:51
am0c joined
09:52
cognominal joined
|
|||
frettled | If you were to look at how I sometimes turn a phrase, it would not be entirely implausible to deduce that there is a certain roundabout manner to it. | 09:54 | |
cognominal | how come, when I type "panda list", I don't see zavolaj? | 09:55 | |
I did a "panda update" | |||
masak | frettled: how autopunny :) | 10:00 | |
frettled | (: | ||
tadzik | o/ | 10:02 | |
frettled | yay, tadzik++ | 10:03 | |
fglock | phenny, tell japhb I can't reproduce the problem with perlito5.js; about perlito6, it will take some time to catch up | ||
phenny | fglock: I'll pass that on when japhb is around. | ||
frettled | Time for lunch. Less fancy and more expensive than the ones at the hackathon. :-/ | 10:04 | |
tadzik | cognominal: try NativeCall | ||
masak, masak, idea | |||
a macro turns perl6 ast into perl6 ast | 10:05 | ||
so if it takes a string, it's effectively a compiler (to perl 6) | |||
so could you implement slangs using macros? | |||
jaffa4 | What were the prices like? | 10:06 | |
cognominal | tadzik: can you be more specific? | ||
jaffa4 | What were the prices like at hackaathon? | 10:07 | |
cognominal | NativeCall is part of zavolaj. How can it help me to install it? | ||
tadzik | cognominal: zavolaj is in the module ecosystem under a name "NativeCall" | 10:08 | |
10:09
Guest92805 left
|
|||
cognominal | ok. tadzik++ | 10:09 | |
tadzik | jaffa4: quite high from my pov, but otoh I'm from Poland, so finding a place where I'll consider stuff cheap could be pretty hard :) | ||
cognominal | tadzik: it does not install on macosx lion : t/01-argless.t ......... dyld: lazy symbol binding failed: Symbol not found: _dlLoadLibrary | 10:11 | |
Referenced from: /Users/stephanepayrard/git/rakudo/install/lib/parrot/4.3.0-devel/dynext/nqp_dyncall_ops.bundle | |||
Expected in: flat namespace | |||
jaffa4 | std.p6 does not compile in niecza | 10:12 | |
tadzik | no eye deer, you'll have to ask jnthn or arnsholt | ||
cognominal: ^ | |||
10:13
pernatiy left
|
|||
cognominal | I am not the first one to have the same problem : irclog.perlgeek.de/perl6/2012-02-13#i_5142113 Apparently was not solved | 10:14 | |
jaffa4 | cognominal: that sounds bad, you are only the second one. | 10:15 | |
cognominal | jaffa4: meaning? | 10:16 | |
jaffa4 | cognominal: nothing special... | ||
tadzik | cognominal: bbkr eventually published his GeoIP module, so I guess he solved is problem somehow | ||
cognominal | "expect in: flat namespace" seems a common error message according to Google | 10:17 | |
10:34
sisar left
|
|||
cognominal | sounds to be that issue : github.com/jnthn/zavolaj/issues/7 | 10:35 | |
nope | 10:38 | ||
arnsholt | cognominal: I've not had that particular problem on OS X (but a couple of others) | 10:47 | |
Which OS X Are you on? | |||
But AFAIK bbkr_ has gotten it to work | |||
cognominal | arnsholt: 10.7.3 | 10:49 | |
arnsholt | But I think dlLoadLibrary is from dyncall (which is bundled with NQP) | ||
Which NQP/Rakudo do you have? | |||
10:50
spider-mario joined
|
|||
cognominal | last git version | 10:50 | |
arnsholt | That's odd | ||
10:51
Trashlord left
|
|||
arnsholt | My currently installed version is lagging a bit, since I'm working on some stuff in a branch, so it could be very recent breakage | 10:51 | |
But I have to admit I'd be surprised if that were the case | 10:52 | ||
cognominal | it seems people have that problem with old bundles lying around. I will check that | 10:53 | |
arnsholt | Yeah, that could be it | ||
Try wiping out install and recompiling | 10:54 | ||
10:57
lestrrat left
10:58
lestrrat joined,
snearch joined
|
|||
masak | today's autopun: twitter.com/sixthformpoet/status/19...7644583936 | 10:59 | |
tadzik: yes. macros are "little compilers". I tend to think of them as routines you hook into the regular compiler. | 11:00 | ||
slangs (in the sense of "sublanguages") are more about creating/substituting a whole parser/grammar/actions class, I think. 'course, subclassing ought to make it possible to use that procedure for minor changes as well. | 11:01 | ||
like, adding a new keyword into the main Perl 6 slang, or something. | |||
but we're well into the realm of speculation here. | 11:02 | ||
tadzik | yes, that's where I wanted to get : | ||
:) | |||
tadzik back home o/ | |||
masak | \o/ | ||
colomon | \o/ | ||
masak | which is why we should usher in this era as soon as possible. to get through the sludgy parts. | ||
tadzik: maybe there'll turn out to be some "functional equivalence" between deriving a grammar of the current slang, and a macro. we'll see. | 11:03 | ||
11:03
jaffa4 left
|
|||
tadzik | interesting | 11:04 | |
11:05
pernatiy joined
|
|||
frettled | tadzik: I forgot to ask: where do people from Poland go for cheap shopping? Norwegians go to Sweden (and almost anywhere else), Swedes go to Denmark, Danes go to Germany, Germans go to Poland… | 11:10 | |
masak: d'oh, I forgot to hang over your shoulder and watch while you performed grammar magic. :) | 11:11 | ||
s/grammar/macro/ | 11:12 | ||
frettled confumbled the words. | |||
tadzik | frettled: heh, Poland? :P | 11:13 | |
I, for one, go to Lidl for cheap shopping :P | |||
frettled | tadzik: heh :) | 11:14 | |
tadzik | or Tesco if it's after 21 | ||
frettled | Someone once suggested Slovakia to me, but… | ||
tadzik | what kind of shopping do you look for? | ||
frettled | I'm not exactly looking, but the thing is that there is significant cross-border shopping of e.g. alcohol, foodstuffs (meat in particular), candy, soda, etc. | 11:16 | |
And it's typically so that people are willing to cross at most one border for that, since there are limits to how far you can drive on a day or weekend trip and still save money on your shopping. | |||
I'm sure this can be turned into a coding contest challenge! | 11:17 | ||
tadzik | a beer in a bar is like 12 NOK here :) | 11:18 | |
frettled | Okay, still more expensive than certain parts of Prague in 2004 :) | 11:19 | |
cognominal | reinstalled rakudo from scratch and NativeCall installs correctly | ||
frettled | tadzik: 12-18 CZK for a beer, or (at that time), 3-5 NOK | 11:20 | |
cognominal: \o/ | |||
tadzik | okay, that's cheap :) | ||
cognominal | nice, but intellectually frustrating. | 11:22 | |
11:22
pernatiy left
|
|||
frettled | cognominal: yes, there is some room for improvement ;) | 11:23 | |
spider-mario | I’ve forgotten how to submit a rakudobug? | 11:27 | |
(that one’s minor, but still) | |||
tadzik | spider-mario: rakudo.org/how-to-help/ | 11:28 | |
spider-mario | thanks | ||
11:29
ens left
|
|||
flussence | NativeCall doesn't install through panda for me at all, it always fails the compiled-C tests :/ | 11:35 | |
spider-mario | there | 11:37 | |
bug 112584 | |||
flussence | while I'm at it, does rakudo have a -MCarp=verbose equivalent? I want to figure out what causes these - | 11:38 | |
==> Building NativeCall | |||
use of uninitialized value of type Any in string context in method Str at src/gen/CORE.setting:670 | |||
11:38
huangjs left
|
|||
tadzik | flussence: update your rakudo | 11:39 | |
I fixed it like yesterday | |||
arnsholt | cognominal: Thanks for the update. Then it was probably some confusion in the installed libs section | 11:40 | |
tadzik | r: my $a; say "lala$a"; CONTROL { say $_.backtrace.full } | ||
p6eval | rakudo 554181: OUTPUT« in sub warn at src/gen/CORE.setting:439 in method Str at src/gen/CORE.setting:670 in method Stringy at src/gen/CORE.setting:677 in block <anon> at /tmp/4EyzeyHHEu:1 in <anon> at /tmp/4EyzeyHHEu:1use of uninitialized value of type Any in string context … | ||
tadzik | flussence: ^ | ||
flussence | er... I'm on 2012.04-50-g5541810 and git pull says I'm up to date | ||
spider-mario | oh, I forgot to include my rakudo version in my bug report. | ||
oops. | |||
arnsholt | flussence: What kind of failure? | 11:42 | |
11:42
zhutingting joined
|
|||
arnsholt | If it has problems finding the compiled libs, it's fairly easy to get working | 11:42 | |
flussence | t/01-argless.t ......... Cannot locate native library '01-argless.so' | 11:43 | |
tadzik | flussence: github.com/rakudo/rakudo/commit/19370a16 | ||
arnsholt | Yeah, that's the one | 11:44 | |
export LD_LIBRARY_PATH=. and try again | |||
Or DYLD_LIBRARY_PATH=. is you're on OS X | |||
(But you're not, since it's .so, not .bundle) | |||
flussence | tadzik: that's weird, this should work then... | 11:46 | |
tadzik | make install? :) | ||
masak | frettled: is there something I can tell you or help you with now, regarding macros? or was it important that it happen in Oslo? | 11:47 | |
11:47
snearch left
|
|||
flussence | hm, maybe "make all install" doesn't do what I think it does, 'cause running make install is doing stuff now... | 11:47 | |
frettled | masak: I was hoping for osmosis through direct observation :) | 11:48 | |
masak | hehe. | ||
frettled | masak: but judging from your blog, I feel confident that new opportunities will arise | ||
masak | oh yes. | ||
flussence | arnsholt: thanks, worked | 11:49 | |
masak | r: macro foo { say 2; quasi { say 4 } }; BEGIN { say 1 }; say 3; foo | ||
p6eval | rakudo 554181: OUTPUT«1234» | ||
masak | frettled: that's a good start towards understanding macros ;) | 11:50 | |
frettled | masak: and possibly also quasi | ||
11:52
cognominal_ joined
|
|||
masak | like this. a string is a piece of text that you can put in a variable and print whenever you want. a closure is a piece of compiled code that you can put in a variable and call whenever you want. a quasi is a piece of *un*compiled code that you can put back into your code and compile whenever you want. | 11:53 | |
just like qq strings can contain mentions of variables which are interpolated into the string as the string is evaluated, so quasis contain "unquasi slots" which are interpolated as the quasi is evaluated. | 11:55 | ||
11:56
cognominal left
|
|||
frettled | So, essentially, what happens in the above code is: 1) say 1 is executed first, because it's in a BEGIN block. 2) say 3 is not executed (but it is parsed), 3) foo is parsed and because it's a macro, say 2 is immediately executed while quasi { say 4 } is compiled. Because foo is after say 3, say 3 happens before say 4. | 11:57 | |
Is that an adequate understanding? | |||
11:58
skids left
|
|||
masak | yes. \o/ | 11:59 | |
in a very real sense, the contents of the quasi has replaced the 'foo' call in the code. | 12:00 | ||
it happens on the AST level, not on the code-as-text level, but other than that, that's what happens. | |||
what's being sent to and from a macro are AST tree fragments. | 12:03 | ||
r: macro foo($x) { quasi { say "It's an $x.WHAT()" } }; foo("I'm a string") | 12:04 | ||
p6eval | rakudo 554181: OUTPUT«use of uninitialized value of type AST in string context in method Str at src/gen/CORE.setting:670It's an » | ||
12:04
sunfinite joined
|
|||
masak | huh. | 12:04 | |
r: macro foo($x) { quasi { say "It's an $x" } }; foo("I'm a string") | |||
p6eval | rakudo 554181: OUTPUT«It's an AST<1603438779>» | ||
masak wonders why .WHAT doesn't work there | |||
12:05
GlitchMr joined
12:10
mtk joined
|
|||
masak | I'd like to take the time to put in a good word for NPW 2012: act.yapc.eu/npw2012/ | 12:10 | |
sign up, submit talks -- and have the appropriate amount of fun! | |||
frettled | r: macro foo($x) { quasi { say "It's an ", $x.^name } }; foo("I'm a string") | 12:12 | |
p6eval | rakudo 554181: OUTPUT«It's an AST» | ||
frettled picked up one thing. | 12:13 | ||
12:13
sunfinite left,
pernatiy joined
|
|||
frettled | hmm | 12:13 | |
12:17
tokuhirom joined,
spider-mario left
12:18
spider-mario joined
|
|||
frettled | And, not surprisingly: | 12:18 | |
r: macro foo(Str $x) { quasi { say "It's an ", $x.^name } }; foo("I'm a string") | |||
p6eval | rakudo 554181: OUTPUT«===SORRY!===Nominal type check failed for parameter '$x'; expected Str but got AST instead» | ||
frettled just had to test :) | 12:19 | ||
masak | :) | ||
it *looks* like a call to the macro foo with a Str. | |||
but it isn't. | |||
it's a call to the macro foo with an AST object containing a parsed string literal. | |||
the Str doesn't exist because it's too early in the program lifecycle for runtime objects. | 12:20 | ||
well, sorta. | |||
as we enter the macro, we do switch gears from compile/parse mode to run mode. | 12:21 | ||
and that transition seems to be why we see everything as AST objects from inside the macro. we're inside a bubble of run mode, looking out over a barren desert of parse-mode objects. | 12:22 | ||
frettled | with the odd tumbleweed of comments | ||
12:24
spider-mario left
|
|||
masak | well, comments are just whitespace from a parser perspective ;) | 12:24 | |
12:25
spider-mario joined
|
|||
frettled | easily ignorable line noise | 12:26 | |
dalek | blets: 74f768a | (Herbert Breunung)++ | README.md: adding format rules |
||
masak | a boy wants to give an apple to a girl. to get to her, he has to pass through five gates, each with a guard. he bribes each guard with half of his apples, plus one. after he's given the apple to the girl, he has no apples left. how many did he have to begin with? | 12:31 | |
arnsholt | A lot? =) | 12:32 | |
tadzik | ALL THE APPLES | ||
12:32
fhelmberger left
|
|||
frettled | arnsholt: I'd think he only had many. | 12:33 | |
masak | seems the easiest way to solve the problem is to run the guy backwards in time. | ||
we know he has 1 apple just before he gives it away to the girl. | |||
flussence | 25 | 12:34 | |
ish :) | |||
tadzik | hmm | ||
I think that can be solved using a sequnce operator | |||
masak | now run him backwards. he takes 1 apple from the guard, and then he takes as many as he has, that is, 2. | ||
so now he has 4. | |||
12:35
spider-mario left,
spider-mario joined
|
|||
masak | this is possible because both of the operations performed here (halving, subtracting 1) are invertible, and their composition is invertible (adding 1, doubling). | 12:35 | |
tadzik | r: (1, { ($^a + 1) * 2 } ...)[^10].perl.say | ||
p6eval | rakudo 554181: OUTPUT«===SORRY!===Confusedat /tmp/lLIoOw9HGP:1» | ||
tadzik | r: (1, { ($^a + 1) * 2 } ... *)[^10].perl.say | 12:36 | |
p6eval | rakudo 554181: OUTPUT«(1, 4, 10, 22, 46, 94, 190, 382, 766, 1534)» | ||
frettled | masak: whoa, whoa, whoa, there, unit test first! | ||
masak | :P | ||
so, 94 apples? | |||
tadzik++ | |||
tadzik | provided there are no bugs | ||
masak | looks right to me. | ||
frettled | only 1 left | 12:37 | |
(oh ha ha) | |||
tadzik | r: (1,(*+1)*2...*)[6].say # golf'd! | ||
p6eval | rakudo 554181: OUTPUT«190» | ||
tadzik | eek, what | ||
masak | 5 | ||
tadzik | r: (1,(*+1)*2...*)[5].say # golf'd! | ||
p6eval | rakudo 554181: OUTPUT«94» | ||
tadzik | there | ||
mikec | if i was the girl, i'd want to know why the first guard got way more apples | ||
flussence | r: say (1534, { $^a / 2 - 1 } ... *)[^5] | ||
p6eval | rakudo 554181: OUTPUT«1534 766 382 190 94» | ||
masak | mikec: this is how corruption works. | ||
frettled | mikec: because he was the most corrupt one, obviously | 12:38 | |
mikec | hehe | ||
masak | it would be fun to have a module where the problem could be specified forwards, and it would reverse it for us. | ||
an abstract algebra module. | |||
that could solve linear equations. | |||
frettled | masak: I believe Damian has nailed that one. | ||
tadzik | hehehe | ||
masak | :P | ||
tadzik | . o O ( There's a pararell universe for that! ) | 12:39 | |
masak | so you do 'sub guard($n) { $n / 2 - 1 }; solve (my $x), 1 == guard(guard(guard(guard(guard($x)))))' | ||
or something of that order. | |||
perhaps 'my Var $x' | 12:40 | ||
frettled | That ought to be guard^5($x) | ||
tadzik | hmm, there is this bfs variant that goes backwards as well as forwards | ||
masak | frettled: well, you could define a higher-order function (or operator) to do that. | 12:41 | |
tadzik: all we need here is to build the linear equation, and solve for $x | |||
tadzik | aye | ||
frettled | Maybe just abuse Unicode a bit: guard⁵($x) | ||
tadzik | :) | ||
masak | we could even make 'solve for $x' the default :) | ||
or 'solve for the Var object in this expression'. | 12:42 | ||
frettled | So now we just need a operator that knows which Unicode chars are superposed numbers | ||
an operator | |||
I refactored that sentence too many times too quickly without testing. | |||
dalek | p/cstruct-work: 3bf5590 | (Arne Skjærholt)++ | src/6model/reprs/CArray.c: Make sure out-of-bounds accesses on managed CArrays don't do stupid things. |
12:43 | |
12:45
lichtkind joined,
sisar joined
|
|||
masak | arnsholt++ | 12:45 | |
arnsholt | Thanks. Now let's see what happens when I merge in master | 12:46 | |
12:46
bluescreen10 joined
|
|||
masak | arnsholt: is INTVAL signed? then you should perhaps check whether't be >= 0 too... | 12:46 | |
[Coke]_ sees pics of moritz and masak and everyone. | |||
12:47
[Coke]_ is now known as [Coke]
|
|||
arnsholt | masak: Hmm. Good point | 12:47 | |
[Coke] thinks jnthn has a different style of victorian beard every time I see a picture! | |||
12:47
machine1 left
|
|||
[Coke] expected masak to look a little more... crazed? | 12:47 | ||
[Coke] grins. | |||
arnsholt | In my defence, jnthn never checks for negative indices =) | 12:48 | |
But what's the correct answer for a negative index again? Invalid? | |||
masak | in... C? | 12:49 | |
dalek | blets: 8fe801c | (Herbert Breunung)++ | docs/appendix- (2 files): some rather subtle format fixes |
||
masak | I guess. | ||
arnsholt | No, in Perl 6. In C I know what happens =) | 12:50 | |
masak | yes, .[-1] is always an error. | 12:51 | |
arnsholt | Cool. Then I can just chuck in a check at the top of all the functions | 12:53 | |
Cheers! | |||
12:54
machine1 joined
|
|||
masak | r: class Var {}; class Equation { has $.lhs; has $.rhs; method solve { $.rhs } }; multi infix:<==>(Var $lhs, Any $rhs) { Equation.new(:$.lhs, :$.rhs) }; say ((my Var $) == 42).solve | 12:55 | |
p6eval | rakudo 554181: OUTPUT«===SORRY!===Variable $.lhs used where no 'self' is availableat /tmp/U6qwXgK4yk:1» | ||
masak | r: class Var {}; class Equation { has $.lhs; has $.rhs; method solve { $.rhs } }; multi infix:<==>(Var $lhs, Any $rhs) { Equation.new(:$lhs, :$rhs) }; say ((my Var $) == 42).solve | ||
p6eval | rakudo 554181: OUTPUT«===SORRY!===Contextual $*GOAL not found» | ||
masak | r: class Var {}; class Equation { has $.lhs; has $.rhs; method solve { $.rhs } }; multi infix:<==>(Var $lhs, Any $rhs) { Equation.new(:$lhs, :$rhs) }; say ((my Var $x) == 42).solve | ||
p6eval | rakudo 554181: OUTPUT«42» | ||
masak | \o/ | ||
this has potential. | |||
12:57
PacoAir joined
|
|||
masak | you could generalize this to arbitrary operators, and arbitrary occurrences of the variable on both sides of the equation. | 12:57 | |
and you could still detect whether it's a linear equation or not, and if it is, you could solve it. | |||
and then you write a nice blog post about the boy and the five guards, with tadzik++'s nice sequence operator, and then this equation package ;) | 12:58 | ||
arnsholt | Well volunteered? ;) | ||
masak | I can do it, and I see the way forward. | 12:59 | |
but I'm kinda hoping someone else will pick it up ;) | |||
perhaps in vain. the world is structured such that if you want something done, most of the time you have to do it yourself ;) | |||
I'll see what I can do today after $work. shouldn't be that difficult. | 13:00 | ||
but anyone is welcome to task-steal this one. | |||
flussence | .oO( now if only we could generalise it so we could feed it a serialised program state and some code then say "go back to here"... :) |
||
frettled | masak: would be lovely to do so, but all my tuits are dodecahedrons, apparently. | ||
masak | :P | 13:01 | |
13:02
JimmyZ joined
13:04
szbalint_ is now known as szbalint
|
|||
infosophy | frettled: is there a difference between an up and a down tuit? | 13:13 | |
masak .oO( first generation of tuits ) | 13:14 | ||
frettled | infosophy: there certainly are strange tuits | ||
arnsholt | masak: In case you wondered, the out-of-bounds check is done before the index arrives in the C-code, so it turns out I don't really have to do it =) | 13:18 | |
frettled | arnsholt: perhaps you can convert that into a charm tuit. | 13:20 | |
infosophy | frettled: I can see someone getting down tuit and another feeling up tuit - how do the charm and strange tuits work? | 13:21 | |
masak | r: role Expr {}; class Var does Expr {}; class Op does Expr { has $.op; has $.l; has $.r }; multi infix:</>(Expr $l, $r) { Op.new(:op</>, :$l, :$r) }; multi infix:<->(Expr $l, $r) { Op.new(:op<->, :$l, :$r) }; sub guard { $^x / 2 - 1 }; say guard(Var).perl | 13:22 | |
p6eval | rakudo 554181: OUTPUT«Op.new(op => "-", l => Op.new(op => "/", l => Var, r => 2), r => 1)» | ||
masak | arnsholt: ah, ok. | ||
another cool thing would be to take the above AST and produce the inverse -- totally doable. | 13:23 | ||
hm, but it occurs to me that this is just a linear equation solver in the small ;) | 13:25 | ||
13:26
JimmyZ_ joined
|
|||
dalek | Heuristic branch merge: pushed 16 commits to nqp by arnsholt | 13:26 | |
13:27
mucker left
|
|||
frettled | infosophy: well, if you bring some charm tuit, people involved tend to feel a bit better about it. If you think there is something strange tuit, then you're probably right. | 13:27 | |
13:27
JimmyZ left,
JimmyZ_ is now known as JimmyZ
|
|||
masak 's pun detector twiddles | 13:28 | ||
frettled | There is definitively a pun tuit here. | ||
13:31
spider-mario_ joined
13:32
spider-mario left,
spider-mario_ is now known as spider-mario
13:37
skids joined
|
|||
infosophy fervently agrees | 13:40 | ||
I'm going to start saving for a nothing tuit right away | |||
13:41
uniejo joined
|
|||
masak | the nothing tuits are massively overpriced, if you ask me. | 13:41 | |
frettled | that reminds me that there are at several kinds of risk tuits. | 13:43 | |
You have these, at least: certain, massive, no | |||
arnsholt: but be careful so you don't get too many used tuits | 13:46 | ||
13:49
uniejo left
|
|||
infosophy hands freddled an end tuit | 13:52 | ||
frettled | touché | 13:57 | |
infosophy | s/dd/tt/ | 13:58 | |
sowwy | |||
frettled | Id's an undersdandable misdake. | 13:59 | |
infosophy | must be the soft consonants we were talking about on Sunday | ||
flussence | Stage parse: 538.949 # observation: rakudo's string handling/parsing/regexy bits are *slow* | 14:00 | |
(and not just on core.setting) | 14:01 | ||
14:02
cognominal___ joined
|
|||
[Coke] | I don't know. I think this whole pun thing has a certain ring tuit. | 14:03 | |
14:05
cognominal_ left
|
|||
masak | flussence: don't read too much into those numbers. | 14:05 | |
flussence: you'll note that the AST step two lines down takes 0.000 | 14:06 | ||
flussence: while the reality is that parsing and AST building are intertwined | |||
flussence | I thought those looked odd... | ||
frettled | r: say "odd" if 538949 % 2 | 14:08 | |
p6eval | rakudo 554181: OUTPUT«odd» | ||
masak | r: say "odd" if 538949 !%% 2 | 14:09 | |
p6eval | rakudo 554181: OUTPUT«odd» | ||
[Coke] | masak: I was in the middle of typing that. ;) | 14:10 | |
flussence | ok, I'm going to try this the long way - `git clean -dfx`'ed rakudo, reinstalled it, rm -r ~/.perl6 ~/.panda; panda bootstrap.sh and then reinstall NativeCall from that. If that doesn't get rid of that warning I don't know what will | ||
[Coke] | # 04/22/2012 - niecza++ ; pugs (44.63%); rakudo (0.03%) | 14:11 | |
looks like rakudo has been failing for 3 days now. | |||
masak | [Coke]: moritz_ and I end up typing the same things all the time nowadays. I've had occasional resonances with pmichaud and jnthn now and then, too. | ||
colomon | [Coke]: wait, niecza's ahead again? | ||
masak | [Coke]: how do you mean, "has been failing for 3 days now"? | 14:12 | |
I'm pretty sure Rakudo has been in more heavy use lately than in quite a while. | |||
[Coke]: most likely it's some parrot or nqp revision that you need to give a little shake. | |||
[Coke] | colomon: look at rakudo's percentage there. | 14:13 | |
colomon | I see it, but I don't know what it means. (Or maybe I'm looking at the wrong thing?) | ||
masak | colomon: < [Coke]> looks like rakudo has been failing for 3 days now. | 14:14 | |
colomon | is it really passing fewer tests that niecza? | ||
I mean, pugs? | |||
masak | colomon: < [Coke]> looks like rakudo has been failing for 3 days now. | ||
[Coke] | colomon: it's passing about 6 tests in my checkout. | ||
colomon | !!!!!!! | ||
masak | question is, why? | 14:15 | |
masak builds Rakudo locally | |||
[Coke] | yes. so clearly it's just me or someone else would have noticed. | ||
flussence | now I'm curious... which 6 tests? | ||
I'd have thought a completely broken perl6 wouldn't pass any... | 14:16 | ||
colomon | btw (dunno if anyone was listening when I said it) current rakudo is failing to build my modules when my previous two month old rakudo (and niecza) handled them easily | ||
however, I did get a fairly complete and mostly passing spectest run out of my updated rakudo build. | |||
flussence | argh! panda's still giving me that "uninitialized value" warning | 14:17 | |
[Coke] | Could not find Test in any of: /home/coke/.perl6/lib, /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/4.3.0-devel/languages/perl6/lib, . | ||
so, that would do it. some tests don't use Test, but very few. | 14:18 | ||
colomon | ooo, I think that was one of the issues I was seeing. | ||
[Coke] | r: use Test; say "eek" | 14:19 | |
p6eval | rakudo 554181: OUTPUT«eek» | ||
colomon | rakudo seemed to be completely ignoring the -I command line option to set "include" paths. | ||
(That was only a minor issue, though, since I just switched to using PERL6LIB, which worked fine.) | |||
masak | flussence: apparently, those are really challenging to track down. | 14:20 | |
colomon | but yeah, after celebrating getting ABC running on both Rakudo and Niecza, I upgraded my Rakudo and the module promptly stopped working. | ||
[Coke] | this is in an uninstalled rakudo; should be able find it's own Test, neh? | ||
I can try to bisect this later. (bisecting rakudo runtime is slooow. ;) | 14:21 | ||
masak | [Coke]: (quoting moritz_) "Rakudo doesn't work if it's not installed. If you get it working without installing it, that's basically an accident." | ||
arnsholt | Excellent quote =D | 14:22 | |
Right. Both NQP and Zavolaj are now updated. Have the appropriate amount of fun =) | 14:23 | ||
masak | \o/ | ||
[Coke] | masak: I shouldn't have to install rakudo to run the tests. | 14:26 | |
should I? | |||
masak | no, it sounds wrong. | 14:27 | |
[Coke] | never had to before 3 days ago, anyway. | ||
masak | nevertheless, that's what moritz_ said, as late as two days ago. | ||
[Coke] | patches to gist.github.com/1476841#file_spec_r welcome. | 14:28 | |
14:28
PacoAir left
|
|||
masak | running spectests now. already far more than 6 tests passed ;) | 14:28 | |
[Coke] | (git rb == git pull --rebase) | ||
[Coke] will blow away the NQP/parrot directories and try one more time. | |||
14:30
wtw left
|
|||
[Coke] | iwbni if there was a git mode where you could say "clone this repository, but only get the last year's worth of data. If I ask for something earlier than that, you can fetch it then." | 14:32 | |
(we'd be downloading a lot less parrot at that point.) | |||
arnsholt | Hmm. Lazy-evaluation git? ^_^ | 14:33 | |
timotimo | git can actually do something like that | ||
it should totally be possible to do with grafting and shallow clones (i believe they are called) | |||
[Coke] | removing npq/ parrot/ install/ didn't help. same failure. | 14:41 | |
masak | ooc, what's the failure? | ||
[Coke] | Could not find Test in any of: /home/coke/.perl6/lib, /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/4.3.0-devel/languages/perl6/lib, . | ||
tadzik | right | 14:42 | |
lib removed from @*INC | |||
masak | oh! | ||
so [Coke] is running Rakudo in some way that it doesn't find Test.pm | 14:43 | ||
tadzik | aye | ||
[Coke] | so when running tests locally, I need to manually add lib back in? | ||
./perl6 -Ilib t/spec/S02-types/whatever.rakudo | 14:46 | ||
(same error) | |||
colomon | [Coke]: see my comment earlier that -I apparently doesn't work any more | ||
frettled | To modify the include path, you can set the PERL6LIB environment variable: | ||
From ./perl6 -h | |||
PERL6LIB="lib" perl6 example.pl | 14:47 | ||
(thanks to imarcusthis++) | |||
colomon | try PERL6LIB=lib ./perl6 t/spec/S02-types/whatever.rakudo | ||
masak | did -I ever work on Rakudo? | ||
[Coke] | masak: no clue. didn't need to until 3 days ago. ;) | ||
masak | it does on Niecza, but I've never seen it work on Rakudo. | ||
colomon | it certainly seemed too in the version I was using last week | ||
*to | |||
frettled | I think it may have worked before nom. | ||
But as I've left myself out of the loop for a year or so, don't trust me. | |||
masak | I don't remember it doing so. | 14:48 | |
colomon | though I guess if it was always including "lib" as a path and not returning an error about an incorrect command line argument, I would never have known it didn't work | ||
masak | I've always used PERL6LIB, and not 'cus it's fun :) | ||
colomon | perl6 -Ilib does *not* return an error message, it just doesn't work | 14:50 | |
Wynne:Math-Prime colomon$ perl6 -I t/01-basic.t | |||
No such option -I | |||
versus | |||
Wynne:Math-Prime colomon$ perl6 -Ilib t/01-basic.t | |||
===SORRY!=== | |||
Could not find Math::Prime in any of: /Users/colomon/.perl6/lib, /Users/colomon/tools/rakudo/install/lib/parrot/4.3.0-devel/languages/perl6/lib, . | |||
[Coke] | ok. tests passing as expected again. spec_r updated to deal with the change. next test run should be more indicative of real stats. | ||
14:50
fgomez left
|
|||
[Coke] | moritz++, masak++, colomon++, frettled++ | 14:51 | |
fglock | [Coke]++ | ||
frettled | (++)++ | ||
spider-mario | is it possible to mark a bug report for rakudo as minor? | 14:53 | |
fglock | phenny, tell phenny tell phenny tell phenny++ | ||
phenny | Hey, I'm not as stupid as Monty you know! | ||
fglock | :P | ||
spider-mario | I’ve made a report earlier but it doesn’t seem really important to me | ||
[Coke] | phenny, tell aloha msg phenny: tell Coke "hah" | ||
phenny | [Coke]: I'll pass that on when aloha is around. | ||
[Coke] | aloha, what? | ||
seen coke? | |||
aloha | coke was last seen in #parrot 2 days 19 hours ago saying "(you'd have to setup 2 logins, I suppose.)". | ||
phenny | aloha: 14:53Z <[Coke]> tell aloha msg phenny: tell Coke "hah" | ||
[Coke] | CloseButNoRecursion. | 14:54 | |
masak | bots that allow for such recursion are designed wrong. | 14:56 | |
dalek | ast: 7f5a8bb | coke++ | test_summary: Note new rakudo requirement |
14:59 | |
15:00
JimmyZ_ joined
15:01
JimmyZ_ left,
JimmyZ left
|
|||
dalek | ast: 0d5bc79 | masak++ | S32-list/sort.t: [S32-list/sort.t] removed test This test has no support from the spec, nor did it ever. There's absolutely nothing that guarantees that otherwise identical objects get sorted into memory-address order, or indeed that those objects were *created* in memory-address order. |
15:05 | |
15:08
birdwindupbird left
15:12
JimmyZ joined
15:17
NamelessTee joined
15:19
fhelmberger joined
15:21
zhutingting left
15:22
kaare_ joined
|
|||
[Coke] | ooh, one less test to pass. woot. | 15:25 | |
JimmyZ | moritz_: where is your code that contains many '*'? | ||
15:26
kaleem left
|
|||
flussence | JimmyZ: perlgeek.de/blog-en/perl-6/starry-obfu.html | 15:26 | |
JimmyZ | flussence: thanks | ||
it's not easy to find it | 15:27 | ||
jnthn | o/ from Stockholm :) | 15:29 | |
masak | jnthn! \o/ | 15:30 | |
speaking of self-referential questionnaires: www.maa.org/mathhorizons/Puzzles/Fe...puzzle.htm | |||
jnthn | Note that Rakudo's t/harness sets $ENV{'PERL6LIB'} these days, after lib got removed from the default @*INC | 15:37 | |
Any other test-running script probably needs to do the same. | |||
dalek | blets: e36f858 | (Herbert Breunung)++ | docs/appendix- (2 files): linking letter headings |
||
JimmyZ | r: gist.github.com/2471737 | 15:39 | |
p6eval | rakudo 554181: ( no output ) | ||
JimmyZ | hmm, looks Starry Perl 6 obfu doesn't outputs anything on rakudo star | 15:40 | |
TimToady | we broke it when we changed the meaning of *+* from {$_ + $_} to {^$a + $^b} | 15:41 | |
JimmyZ | :) | 15:44 | |
masak | but moritz_++ has since fixed it on his blog, no? | 15:46 | |
TimToady | in old blog post or in a new one? | ||
masak | hm, maybe I dreamt that. | ||
15:48
Psyche^ joined
|
|||
JimmyZ | r: constant @primes = 2, 3, -> $p { ($p+2, $p+4 ... -> $n { $n %% none @primes ... * >= sqrt $n })[*-1] } ... *; say @primes[^20]; | 15:48 | |
p6eval | rakudo 554181: OUTPUT«===SORRY!===Variable @primes is not declaredat /tmp/UX44hFAfpo:1» | ||
dalek | blets: a9543c2 | (Herbert Breunung)++ | docs/appendix- (2 files): cleaning up conditionals |
15:49 | |
masak | JimmyZ: known bug. | 15:51 | |
15:52
Patterner left,
Psyche^ is now known as Patterner
|
|||
JimmyZ | aye | 15:53 | |
15:54
am0c left
15:55
zhangkaizhao joined
|
|||
jnthn | Yeah, before I fixed it I wanted to discuss the whole "constant @a = 1,@a" thingy with Pm. :) | 15:55 | |
masak | did you reach a conclusion that makes the above legal? | ||
jnthn | (Which happened at hackathon++) | ||
masak: Which above? :) | |||
masak: The @primes one should work. | 15:56 | ||
masak | \/ | ||
er, \o/ | |||
sorry, lost my head there for a bit. | |||
jnthn | And we can't think of any sane model where the other one works. | ||
Actually, I'm not sure we came up with an insane one where it did either... :) | 15:57 | ||
TimToady hopes that hamming numbers can also be made to work right | 15:59 | ||
constant @hamming = 1, dedup (@hamming X* 2) M (@hamming X* 3) M (@hamming X* 5); | |||
colomon | infix:<M> ? | ||
TimToady | where M is a lazy infix merge | ||
colomon | ah | ||
jnthn | TimToady: If you can get a closure around your references to @hamming on the RHS then it stands a chance. | ||
masak | jnthn: "if you can get a closure around..."? are you asking TimToady to change his code, or are you talking about things the compiler might be able to do? | 16:01 | |
TimToady | in a sense the right side of = could be considered a thunk | ||
(and must be for 'has') | |||
jnthn | TimToady: Yes, that we execute before we bound @hamming. | ||
e.g. to get the value to bind to it. | |||
So that doesn't help | 16:02 | ||
TimToady | what if you bind it to as the 'push' instead of the whole array | ||
arnsholt | jnthn: Is there any particular reason child strings can't be stuck in the child_objs array in CStruct? | ||
masak decommutes | |||
jnthn | masak: I'm saying that I can only see the above working if dedup were a macro, and thus managed to defer the @hamming lookup | ||
TimToady: push onto...what? | 16:03 | ||
TimToady | @hamming.push: ... | ||
er, .plan | |||
sorry, need more coffee | |||
jnthn | ... | ||
jnthn gives up for now | 16:04 | ||
16:07
thou joined
16:10
snearch joined
16:13
mspaulding joined,
JimmyZ left
16:14
cognominal_ joined
16:15
alester joined
16:18
cognominal___ left
|
|||
TimToady | the = in 'constant @array = 1..*' is not a binding, it's a definition thunk that we can use however we want (one of the reasons the declarator now parses the =) | 16:21 | |
in this case, it's more like 'my @array; @array.plan: lazy 1..*' | 16:22 | ||
the identity of @array doesn't change in that | |||
unlike in a binding | |||
s/identity/referent/ | |||
that's what I'm trying feebly to say | |||
to the extent that we are limited to binding, that turns out to be a side effect that prevents some FP-style programming | 16:23 | ||
if we can't close the definitional loop on lazy lists, we've got a too-operational view of definitions somewhere or other | 16:25 | ||
shower & | |||
16:36
thelazydeveloper joined
16:39
cognominal_ left,
cognominal_ joined
16:45
kaleem joined,
tokuhirom left
|
|||
masak home | 16:53 | ||
to the extent I understand the forces at play here, I agree with TimToady ;) | |||
16:53
dakkar left
|
|||
jnthn | I guess I could try and do it as TimToady++ is suggesting. But I know what comes next: an RT ticket because you get unhappy that your so called constant array is actually full of scalar containers that can be mutated. :) | 16:56 | |
masak | well, that issue is deeper than just constant declarations. | 16:57 | |
jnthn | Right. | ||
constant is a bad name for it in that sense. | |||
masak | no-one has yet presented a consistent/complete model for "one level down" readonliness. | ||
16:58
PacoAir joined
|
|||
jnthn | We could call it "computed_at_compile_time_and_not_rebindable" or something :) | 16:58 | |
masak doesn't even think that's cute today :P | |||
jnthn | Well, the conclusion on that tends to be "cures considered worse than disease" :) | ||
I wonder if you can .plan on a List, mind. | |||
lol...there's an Indisk near my hotel called "Holy Cow" :D | 17:01 | ||
er, wrong window... | 17:02 | ||
arnsholt | jnthn: Did you see my question above about child_objs vs child_strs? | 17:04 | |
17:05
fhelmberger left
|
|||
jnthn | arnsholt: oh, yeah, then promptly forgot to answer 'cus I'm tied up with course prep for tomorrow | 17:07 | |
arnsholt: Short answer: strings are STRING*, not PMC*, and you need to make sure you call the correct GC mark function on each one. | |||
arnsholt: If you can make sure of that while keeping just one store, you're fine. | |||
arnsholt | Oh, right. That makes sense | ||
A separate list is probably easiest | 17:08 | ||
masak | TimToady: jnthn makes a good point. if we do like you propose, I *will* submit an RT ticket about constant arrays being mutable. | ||
arnsholt | It costs an extra INTVAL in the repr_data I suppose, but it's not immediately obvious how to unify the two lists | 17:09 | |
And a unified list would probably require more complex logic | 17:10 | ||
jnthn -> dinner, bbl | 17:11 | ||
17:15
cognominal_ left
17:16
cognominal joined
|
|||
TimToady | until we get the details of OKness smoothed out, $x ~~ s:g/// should probably return a Match that numifies to the number of times matched, since a Match is the best OK container we have at the moment | 17:25 | |
17:27
cognominal left
17:28
cognominal joined
|
|||
moritz_ home | 17:32 | ||
tadzik | \o/ | ||
17:33
moritz_ is now known as moritz
17:35
Chillance joined
17:42
pernatiy left
17:43
mucker joined
17:50
zhangkaizhao left
17:59
kaleem left
18:00
Patterner left
|
|||
dalek | kudo/nom: d6ce081 | moritz++ | tools/build/NQP_REVISION: bump NQP revision to get nativecall improvements |
18:01 | |
18:02
Psyche^ joined,
Psyche^ is now known as Patterner
18:04
araujo left
18:15
snearch left
|
|||
dalek | p: a9dc3fa | moritz++ | src/6model/reprs/CArray.c: [CArray] avoid mixing declaration and code, for pedantic compilers |
18:16 | |
kudo/nom: b64c1e9 | moritz++ | tools/build/NQP_REVISION: bump NQP revision again, to get compilation fix |
|||
18:29
ajs_work joined
|
|||
tadzik | blogged I, lol | 18:31 | |
ttjjss.wordpress.com/2012/04/23/back-from-oslo/ | |||
colomon | tadzik: how exactly did you solve the "lib" problem? | 18:35 | |
tadzik | colomon: like this: github.com/rakudo/rakudo/commit/ac2b2ae3998c753 | 18:36 | |
turns out it was there only to make 'make (spec)test' easier | 18:37 | ||
18:37
vlixes joined,
mikemol left
|
|||
tadzik | anyone with github/rakudo/rakudo admin right? | 18:37 | |
moritz | I think only pmichaud has admin rights there | 18:39 | |
18:39
mucker left
|
|||
tadzik | ah. I've asked github support about the commit hook which doesn't work for my name, and I'm supposed to "press Test Hook" somehow | 18:39 | |
18:41
s1n left
18:46
daxim left
|
|||
moritz | tadzik: if you do a roat commit, I can press the button there | 18:49 | |
tadzik | roat? roast? | ||
moritz | roast, yes | ||
sorry | |||
tadzik | I think it was broken for me too, yes | ||
okay, can you press it now? | 18:50 | ||
masak | tadzik++ # blog post | 18:51 | |
moritz | tadzik: shouldn't you do a commit to roast first? | ||
18:51
vlixes left
|
|||
tadzik | I have no idea. The Github guy said "please press Test Hook and paste me the output of the following curl command" | 18:51 | |
I'm not sure what this button is supposed to do | 18:52 | ||
moritz | it re-sends the last two commits or so to the hook | ||
which is why it would make sense for you do to commit first | |||
tadzik | moritz: how about perl6/ecosystem? The last commit there is mine | 18:53 | |
dalek | osystem: cc1b79f | (Filip Sergot)++ | META.list: Text::Markdown |
18:54 | |
osystem: b1299b0 | (Geir Amdal)++ | META.list: Test::Junkie |
|||
osystem: 854f487 | tadzik++ | META.list: Merge pull request #8 from gam/master Added Test::Junkie to META.list |
|||
tadzik | huh | ||
dalek | osystem: cc1b79f | (Filip Sergot)++ | META.list: Text::Markdown |
||
osystem: b1299b0 | (Geir Amdal)++ | META.list: Test::Junkie |
|||
osystem: 854f487 | tadzik++ | META.list: Merge pull request #8 from gam/master Added Test::Junkie to META.list |
|||
18:55
mikemol joined
|
|||
moritz | pressed it twice | 18:55 | |
tadzik | seems to work this way | ||
let me do some commit | |||
18:55
s1n joined
|
|||
moritz | because the first didn't give me any feedback | 18:55 | |
18:56
ggoebel__ left
|
|||
tadzik | I did it to tadzik/panda, and it doesn't give me any feedback either | 18:56 | |
host04.appflux.net:5000/dalek?t=freenode,perl6 is the right url? | 18:57 | ||
benabik | Didn't it move to one of the feathers? | ||
tadzik | no eye deer | 18:58 | |
moritz? | 18:59 | ||
19:02
ggoebel__ joined
19:03
birdwindupbird joined
|
|||
dalek | blets: 742545e | (Herbert Breunung)++ | docs/appendix-a-index.txt: fine format fixes for section f |
19:06 | |
19:07
tadzik is now known as knorra
19:08
knorra is now known as tadzik
|
|||
japhb | fglock, what version of node.js are you running? | 19:13 | |
phenny | japhb: 10:03Z <fglock> tell japhb I can't reproduce the problem with perlito5.js; about perlito6, it will take some time to catch up | ||
fglock | japhb: v0.4.11 | 19:14 | |
(updating now) | 19:15 | ||
japhb | fglock, it actually may be that my node.js is just way too *old*, not new. :-) | 19:16 | |
I'll try to build from source today and see if that gets things working. | 19:17 | ||
19:17
machine1 left
|
|||
fglock | works with v0.6.15, quite slow though (maybe because perlito5 now uses many more exceptions) | 19:19 | |
japhb | fglock, slower than older perlito5, or slower than older node.js? | 19:20 | |
(Wasn't quite sure which direction to parse that) | |||
19:22
machine1 joined
|
|||
fglock | slower than older perlito5 | 19:23 | |
japhb | Gotcha. | ||
ajs_work | r: sub foo($a, $b) { $a + $b } ; foo( a => 1, b => 2); | 19:24 | |
p6eval | rakudo b64c1e: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub foo at /tmp/ngWySJuGAr:1 in block <anon> at /tmp/ngWySJuGAr:1» | ||
ajs_work | Is that right? | ||
Am I misreading perlcabal.org/syn/S06.html#Required_parameters ? | |||
fglock | ajs_work: why? | 19:25 | |
tadzik | that may be a fossil | ||
I think we got rid of passing positionals by name | 19:26 | ||
[Coke] | r: sub foo (:$a, :$b) {$a+$b}; foo( a => 1, b => 2); | ||
p6eval | rakudo b64c1e: ( no output ) | ||
[Coke] | r: sub foo (:$a, :$b) {$a+$b}; foo( a => 1, b => 2).say | ||
p6eval | rakudo b64c1e: OUTPUT«3» | ||
[Coke] | tadzik: I believe so. (That way lies coldfusion) | 19:27 | |
ajs_work | So, you have to explicitly declare a named parameter, now? Wow, when did that happen? | ||
[Coke] | sometime in the past 10 years. ;) | ||
could probably suss it out by examing roast git logs. | 19:28 | ||
masak | last year, by the Neva. | ||
[Coke] | Neva? | ||
masak | St Petersburg. | ||
[Coke] | the river in Russia? | ||
masak | my memory is mostly scenic/episodic. | ||
[Coke] | ah. | ||
masak | there's a gist. hold on. | 19:29 | |
ajs_work | That seems like a pretty structural change... how much should I be trusting the synopses these days? | ||
masak | gist.github.com/984783 | ||
ajs_work | Thanks for the link | ||
masak gets ahold of the relevant spec commits as well | 19:30 | ||
moritz | arnsholt: there's something wrong with the test plan in t/05-arrays.t | ||
19:31
machine1 left
|
|||
arnsholt | moritz: I broke it? | 19:31 | |
masak | github.com/perl6/specs/commit/74b2...e2d72733f6 | 19:32 | |
github.com/perl6/specs/commit/e881...dfc5ebca0c # reverts the first one | |||
github.com/perl6/specs/commit/94d0...733d0aec04 # current state | |||
moritz | arnsholt: I'm fixing it now... | ||
ajs_work | Is there an index that would, in some way, map synopses to external documents which revise them or visa versa? | ||
arnsholt | Ah, cool. What'd I break? | ||
fglock | japhb: this slowness may as well be a bug, in perlito5 or in v8, or something new in perlito5 that disabled the v8 optimizer | 19:33 | |
moritz | arnsholt: the C side emitted 3 tests | ||
arnsholt: but without the numbers | |||
arnsholt: and the test plan expected 2 | |||
19:33
brrt joined
|
|||
arnsholt | Yeah, I thought I'd pushed the fix for that | 19:33 | |
Turns out I'd only made the change, not committed and pushed | |||
Ooops =) | 19:34 | ||
moritz++ # Fixing my mess | |||
japhb | fglock, nodnod | ||
arnsholt | Omitting the test numbers in the C code is intentional, FWIW | ||
It's so that adding tests in the Perl code won't require updating the C code | |||
moritz | arnsholt: except that prove whines about that | 19:36 | |
19:36
machine1 joined
|
|||
arnsholt | Odd, haven't noticed anything about that here | 19:37 | |
Test.pm outputs a diag at the end complaining, but that's all | |||
moritz | might depend on the prove/TAP::Harness version | 19:38 | |
arnsholt | Yeah. Or maybe it's just the harness outputting the diag messages? I know some versions do that | 19:39 | |
moritz | oh, if the test plan it fix, it does indeed not complain | 19:40 | |
so I'll revert the part that adds the numbers | |||
arnsholt | Good idea to add the comment about the C call running tests, BTW | ||
19:41
brrt left
|
|||
jnthn | tadzik++ # awesome blog post | 19:42 | |
moritz | fwiw SQLite can now connect to the DB | ||
tadzik | awesome! | 19:43 | |
should I start writing Bailador::Plugin::Database now? :) | |||
jnthn | Yes! ;) | ||
moritz | sure :-) | ||
19:44
envi_ left
|
|||
jnthn | moritz: What does it do after it's connected to the DB? ;) | 19:44 | |
arnsholt | moritz: Cool! | ||
moritz | jnthn: it segfaults! | 19:45 | |
no, just kidding | |||
tadzik | lol | ||
I just wanted to say that | |||
moritz | the parts that I've implemented so far seem to run fine | ||
[Coke] | rotfl! | ||
arnsholt | I'm looking into strings in structs now as well, in case you need that | ||
jnthn | heh, I was expecting the answer to actually be "it segfaults!" :D | ||
moritz++, anyways :) | 19:46 | ||
19:46
machine1 left
|
|||
moritz | hm, it hangs after test 16 | 19:46 | |
sqlite has this oddity that it doesn't have a separate execute function | |||
it just has 'step', which gets the next row, and executes if necessary | 19:47 | ||
ajs_work | Looking over S06 more carefully: it's definitely a bit confused. I have something else to do, but I might have to dig into this later. There's some notes about proto/only that I can't make sense of right now... | ||
moritz | so I can imagine that leading to a loop if handled wrongly from within p6 land | ||
arnsholt | jnthn: Speaking of strings. When I do something like $!memb = "foo" will bind_attribute_boxed's value parameter be a STRING pointer in disguise, or some kind of PMC wrapper around it? | ||
jnthn | arnsholt: Neither | 19:48 | |
Well, it depends | |||
arnsholt: If it's using the _s variant of the op it actually well end up in _ref | |||
arnsholt | Aha | ||
Good thing I asked then | |||
jnthn | Well, it's a type issue | 19:49 | |
The boxed one gets a PMC * | |||
19:49
jaldhar left
|
|||
jnthn | STRING * ain't one of those | 19:49 | |
japhb | fglock, It looks like node.js git (v0.7.9-pre) works fine, but node.js from Ubuntu 11.04 (v0.2.6) does not. I'm guessing v0.2.6 doesn't support the exceptions you're throwing around now (NPI). | 19:51 | |
arnsholt | Right. Looking at CArray again, it looks like I'll get away with only handling strings in _boxed | ||
19:51
machine1 joined
|
|||
fglock | oh, that's bad | 19:53 | |
it needs to be optimized again anyway, that should bring the number of exceptions down again | 19:54 | ||
dalek | ast: dbbbce7 | moritz++ | S (6 files): rakudo unfudges |
19:56 | |
moritz blug again: perlgeek.de/blog-en/perl-6/2012-osl...-rest.html | |||
fglock | (these are "control" exceptions - return/next/redo/last) | 19:57 | |
hmm - actually "next" is easy to optimize, I'll take a look later (but now &sleep) | 19:59 | ||
[Coke] wonders if all these blugs are in the sixperl blugroll | |||
19:59
thelazydeveloper left,
thelazydeveloper joined
20:00
raiph joined
|
|||
masak | "In the evening we had very tasty Vietnamese food, and generally a good time." # nice zeugma you got going there :) | 20:00 | |
20:00
machine1 left
|
|||
jnthn | jnthn encountered a X::Pub::ClosedWhileStillWantingBeer at the end of the evening. | 20:01 | |
It was a fun time :) | |||
sjn | \o | 20:02 | |
sjn just came home from Go Open | |||
Damian had two great talks that day | |||
masak | /o | ||
sjn | and, thanks for the hackathon, I had a great time! ^^ | ||
20:03
fglock left
|
|||
sjn | It was especially fun at the Norwegian Open Source Prize ceremony, where there (for some reason) were several made a point out of their background with Perl. :) | 20:04 | |
masak | sjn++ # enabler | ||
jnthn | sjn: Thanks *so* much for your role in organizing it. | ||
tadzik | sjn++, it was an awesome experience. Thank You! | 20:05 | |
20:06
machine1 joined
|
|||
raiph | masak: your basics explanation for frettled worked for me. and left me unhappy with the name "macro". | 20:07 | |
masak: to the degree p6 is akin to lisp for the masses, it recasts some things. one is to rename things if appropriate. | 20:08 | ||
masak: what about s/macro/nowandthen/ ? | |||
20:08
tokuhirom joined
|
|||
masak | raiph: no, it's really a macro. | 20:09 | |
that's what macros are. | |||
raiph | masak: what's a macro? | ||
masak | a code template. | ||
a compiler hook. | |||
a routine that runs during the parse of your program. | 20:10 | ||
a way to fold complexity under the carpet of an abstraction | |||
all of the above :) | |||
20:10
araujo joined,
araujo left,
araujo joined
|
|||
raiph | masak: like "now" | 20:10 | |
masak | I don't understand. | ||
raiph | masak: you're describing its benefits, what u can use it for | 20:11 | |
masak | I'm not the person to answer that question. :/ | ||
I'm just implementing them. | |||
raiph | masak: but what is it, at a basic level? it's what u explained to frettle. | ||
masak | but I bet I would be just as stumped had someone asked me what to use `[*]` and other reduction operators for, or the sequence operator. and yet I use them all the time for useful, real things. | 20:12 | |
raiph | it's a bit of code that runs immediately on being encountered, now, plus some stuff that's inserted at the point of call to be executed then. | ||
masak | raiph: what is a macro, at a basic level? a routine. the routine takes AST parameters and returns an AST. | ||
raiph: well, so is a Lisp macro. | 20:13 | ||
and a Julia macro. and a Scala macro. and an <X> macro, for lots of languages <X> | 20:14 | ||
20:14
GlitchMr left
|
|||
masak | so I don't see why the naming bothers you, to be honest. | 20:14 | |
raiph | cuz the name makes me think it's something to do with the big picture, or a zoom lens | 20:15 | |
moritz | well, it kinda is | ||
if you use a macro, the compiler zooms in on the macro definition | |||
applies it, and then zooms out again | 20:16 | ||
masak | I bet that's the etymology of "macro instruction", yes. | ||
it's a single instruction which abstracts over several more primitive ones. | |||
doy | "The term is used to make available to the programmer, a sequence of computing instructions as a single program statement, making the programming task less tedious and less error-prone.[1][2] (Thus, they are called "macros" because a big block of code can be expanded from a small sequence of characters)." | ||
masak | there you go. | 20:17 | |
raiph | but that doesn't imply the now/then aspect | ||
masak | no, that's implied by macros in all languages that have them. | ||
lichtkind | hai hackorz | 20:21 | |
tadzik | hai lichtkind | ||
20:21
bluescreen10 left
|
|||
raiph | o/ lichtkind | 20:21 | |
masak | light be on thee, child | ||
lichtkind | it is :) | ||
masak hopes it isn't like headlights unto a deer ;) | 20:22 | ||
20:22
araujo left
|
|||
raiph | masak: so i just absorbed the takes and returns ast args bit. | 20:24 | |
masak: so rather than now/then parts it's more like compiletime/runtime parts, right? | 20:25 | ||
masak | well, it's a funny little runtime island in an ocean of compile. | 20:26 | |
20:26
araujo joined
|
|||
doy | they are basically the next step beyond BEGIN blocks - BEGIN blocks let you run runtime code at compile time, macros let you run runtime code at compile time in order to generate code to run at runtime | 20:27 | |
masak | aye. that's a nice way of putting it. | 20:28 | |
macros have BEGIN semantics in that they run ASAP. | |||
jnthn | It's not the macro itself that has BEGIN semantics, it's the usage of the macro that magically does. | ||
masak | aye. it's the macro invocation. | 20:29 | |
triggered by parsing a call to the macro. | |||
jnthn | Right. | ||
BEGIN at a distance :) | |||
lichtkind | raiph: we slowly getting where i wanted to be | ||
raiph | r: macro foo { say "bar" } ; say "no call to foo so no bar gets printed" | 20:30 | |
p6eval | rakudo b64c1e: OUTPUT«no call to foo so no bar gets printed» | ||
timotimo | can macros be used dynamically,too? like decide at runtimewhich of two macros to use ro something? | 20:32 | |
not really sure if what i'm asking for makes any sense | |||
raiph | r: macro foo { say "bar" quasi { say "qux" } } ; say "waldo" ; END { foo } | ||
p6eval | rakudo b64c1e: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 2» | ||
raiph | r: macro foo { say "bar" ; quasi { say "qux" } } ; say "waldo" ; END { foo } | ||
p6eval | rakudo b64c1e: OUTPUT«barwaldoqux» | ||
raiph | r: macro foo { say "bar" ; quasi { say "qux" } } ; say "waldo" ; BEGIN { foo } | 20:33 | |
p6eval | rakudo b64c1e: OUTPUT«bar===SORRY!===Could not find sub &say» | ||
20:33
bluescreen10 joined
|
|||
timotimo | oh? that's interesting | 20:34 | |
jnthn | Very. | 20:35 | |
Decidedly a bug. I bet it'll be "fun" to find. | |||
raiph | r: macro foo { state $a; say ++$a ; quasi { say "qux" } } ; say "waldo" ; END { foo ; foo } | 20:36 | |
p6eval | rakudo b64c1e: OUTPUT«12waldoquxqux» | ||
arnsholt | jnthn: In CArray, every time a Str element is accessed, we create a PMC and stuff. Would it make sense to cache those like we do with CArray/CStruct/CPointer stuff? | 20:41 | |
jnthn | arnsholt: Yes. | 20:43 | |
arnsholt: Well... | |||
Yeah, it does :) | |||
masak | hm, macro in BEGIN... :) raiph++ | 20:44 | |
jnthn | I heard you like BEGIN time... | ||
masak | timotimo: "at runtime" is too late, 'cus the macros have already run then. | ||
arnsholt | jnthn: Cool. I'll add that to my TODO list (although that means we have to create the PMC on bind as well | 20:45 | |
raiph | what about unifying BEGIN blocks and macros? | ||
masak | timotimo: but as for multi-dispatch -- yes, macros can dispatch based on the arguments going into them. they're just routines, after all. | ||
raiph: what about it? it sounds like a bad idea to me :) | |||
BEGIN blocks and macros are too different. | |||
jnthn | If raiph means a "unify the underlying mechanism for running bits of stuff at compile time", then they already are fairly unified, fwiw. | 20:46 | |
masak | right. | ||
raiph | masak: thx for your patience. bear with me. BEGIN is done as the first part of runtime, right? | 20:48 | |
er, no. back to doy | 20:49 | ||
ajs_work | Runtime for the parse, not your program.... | 20:50 | |
*parser | |||
raiph | right | ||
masak | raiph: a BEGIN block is run as soon as its '}' has been parsed. | ||
i.e. ASAP | |||
raiph | what about macro { ...... } ; | ||
same? | |||
masak | not at all. | 20:51 | |
just as a sub isn't run upon definition. | |||
in macros (as in subs), definition is separate from call. | |||
but yes, the *call* is made as soon as its last argument has been parsed. | 20:52 | ||
20:52
dorlamm joined
|
|||
raiph | ok, hence unifying BEGIN and macro is nonsensical. ok. | 20:52 | |
masak | unifying them beyond the degree to which they are already unified is probably nonsensical, yes. | 20:53 | |
they do share certain features, such as access to the COMPILING:: namespace. | |||
raiph | apologies if the following goes awry, but i'll share it so u see my thought process as i try to grok this | 20:56 | |
let's say i've got a some book text that i'm going to read to rehearse, then speak out loud | 20:57 | ||
i read it, and encounter a footnote [1]. | |||
(struggling to understand myself, give me a moment :) | 20:59 | ||
20:59
thelazydeveloper left
|
|||
dalek | blets: 1b3e922 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: explaining unicode (that should prpably do someone with more clues about it) |
21:00 | |
tadzik | t/spec/S32-list/sort.rakudo, TODO passed: 33. Anyone else>? | ||
masak | raiph: no problem. it sounds interesting. | ||
tadzik: I already removed that one. pull roast. | |||
lichtkind | raiph: your in oslo too? | 21:02 | |
tadzik | oh, I've had unpushed roast changes | ||
masak | classic. | ||
tadzik | that explains why pmichaud++ has to fix integration/advent2009-day20.t | 21:03 | |
dalek | blets: 4744509 | (Herbert Breunung)++ | docs/appendix- (2 files): small fixes |
21:06 | |
21:07
NamelessTee left,
skids left
|
|||
raiph | lichtkind: would that i were that lucky (no). masak: i'm dealing with (pleasant) distractions here too (kid's b'day). i'll collect my thoughts then finish the line i started. | 21:07 | |
r: sub foo { say 1; BEGIN { say 2 } } ; sub bar { say 3; END { say 4 ] } ; say 5 | 21:11 | ||
p6eval | rakudo b64c1e: OUTPUT«2===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 2» | ||
raiph | r: sub foo { say 1; BEGIN { say 2 } } ; sub bar { say 3; END { say 4 } } ; say 5 | ||
p6eval | rakudo b64c1e: OUTPUT«254» | ||
raiph | r: macro duck { say "duck" ; foo } ; sub foo { say 1; BEGIN { say 2 } } ; sub bar { say 3; END { say 4 } } ; say 5; duck | 21:12 | |
p6eval | rakudo b64c1e: OUTPUT«2duck1===SORRY!===Macro did not return AST at line 1, near ""» | ||
21:13
brrt joined
|
|||
raiph | r: macro duck { say "duck" ; foo ; quasi { say "q" } } ; sub foo { say 1; BEGIN { say 2 } } ; sub bar { say 3; END { say 4 } } ; say 5; duck | 21:13 | |
p6eval | rakudo b64c1e: OUTPUT«2duck15q4» | ||
raiph | r: macro duck { say "duck" ; bar ; quasi { say "q" } } ; sub foo { say 1; BEGIN { say 2 } } ; sub bar { say 3; END { say 4 } } ; say 5; duck | 21:14 | |
p6eval | rakudo b64c1e: OUTPUT«2duck35q4» | ||
21:16
jferrero left
21:19
birdwindupbird left
21:27
dorlamm left
|
|||
[Coke] | # 04/23/2012 - rakudo++ ; niecza (94.21%); pugs (42.09%) | 21:28 | |
"niecza", 20303, 69, 747, 1524, 22643, 24152 | |||
"pugs" , 9072, 17, 3333, 1599, 14021, 24013 | |||
"rakudo", 21550, 30, 638, 1972, 24190, 24162 | |||
cutting in to my pugs percentage! ;) | |||
masak | heh :) | 21:29 | |
jnthn | 42 \o/ | ||
masak | [Coke]++ | ||
japhb | Speaking of pugs, I guess it's time to try to get pugs running locally ... any hints before I go down blind paths? | ||
21:31
harukomoto joined
|
|||
masak | well, a few of us have been getting a certain error, and it's not entirely clear why we're getting it. | 21:31 | |
but the fix seems to be to pull down things using cabal in a certain way. | |||
...I think. | |||
japhb | Are there notes somewhere on a "presumed working" build/install sequence? pugscode.org just points to hackage ... | 21:33 | |
masak | github.com/perl6/Pugs.hs/blob/master/HACKING | 21:34 | |
[Coke] | japhb: grab github -> perl6/Pugs.hs | ||
21:35
vlixes joined
|
|||
[Coke] | if you have any troubles, ping us here. if you're starting with a fresh cabal install, you'll probably be fine. | 21:36 | |
if not, you might have to wipe it. | |||
21:37
dorlamm joined
|
|||
[Coke] | jnthn: down from 42.31%! | 21:37 | |
21:38
bjarne joined
|
|||
japhb | [Coke], well, given that the system doesn't even have ghc on it yet, I'm thinking I'm good there. :-) | 21:38 | |
jnthn | [Coke]: I'd say sorry, but I'm happy Rakudo is progressing :P | 21:39 | |
[Coke] | jnthn: ok, fine. :) | 21:40 | |
21:43
kaare_ left
21:45
PacoAir left
|
|||
dalek | blets: bfc97cc | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: explain capture subrule and set links for the contexts |
21:49 | |
blets: 0a0b44e | (Herbert Breunung)++ | docs/appendix- (2 files): clear unless and until and some minor stuff |
|||
gfldex | p6: say *; | 21:51 | |
p6eval | niecza v16-23-gaa61ed5: OUTPUT«Whatever.new(...)» | ||
..pugs: OUTPUT«Inf» | |||
..rakudo b64c1e: OUTPUT«*» | |||
jnthn | 'night, #perl6 | ||
gfldex | there seams to be disagreement | ||
japhb | o/ jnthn | ||
masak | gfldex: yes. Pugs is wrong. the other two do variations on a theme. | 21:52 | |
21:53
tokuhirom left
|
|||
gfldex | r: say *.perl; | 21:53 | |
p6eval | rakudo b64c1e: OUTPUT«WhateverCode.new()» | ||
gfldex | is .perl meant to be compatible between implentations? | 21:54 | |
brrt | why is that a whatevercode rather than whatever | ||
21:55
jaffa4 joined
|
|||
jaffa4 | hi | 21:55 | |
gfldex | std: my @a = 1,2,3; @a>>.{ $_ }; | 21:56 | |
p6eval | std 3d13d53: OUTPUT«ok 00:00 43m» | ||
jaffa4 | I would like to capture this @<bracket1>=('(' <.ws>)* | 21:57 | |
japhb | brrt, because performing an operation on * actually forms a code block. It allows us to write things like: | ||
r: say 2, * ** 2 ... 256 | |||
p6eval | rakudo b64c1e: OUTPUT«2 4 16 256» | ||
21:58
donaldh joined
|
|||
masak | 'night, #perl6 | 21:58 | |
21:58
dorlamm left
|
|||
gfldex | std: my @a = 1,2,3; @a>>.{ say $^a }; | 21:59 | |
p6eval | std 3d13d53: OUTPUT«===SORRY!===Placeholder variable $^a may not be used outside of a block at /tmp/IVlJQVpV1J line 1:------> my @a = 1,2,3; @a>>.{ say ⏏$^a };Check failedFAILED 00:00 43m» | ||
japhb | o/ masak | ||
jaffa4 | that seems to be ok | ||
gfldex | if @a>>.{ ... } is not a block, what is it? | ||
dalek | ast: db06fbd | coke++ | S (5 files): pugs fudge |
22:00 | |
[Coke] | colomon, sorear: 69 failing spectest for niecza now. | ||
22:00
harukomoto left
|
|||
colomon | platform? | 22:00 | |
jaffa4 | masak: how to capture repetition, I have tried couple of forms, to no avail | 22:01 | |
[Coke] | colomon: feather. | ||
I'll get you the test run output. | |||
perlcabal.org/~coke/ -> niecza | 22:02 | ||
arglebargle. | |||
feather admins, feather.perl6.nl/~coke is down. | |||
colomon | perlcabal.org seems to be down, too... | 22:03 | |
[Coke] | colomon: do you have an account on feather? | ||
colomon | nope | ||
[Coke] | colomon: yah, same thing. | ||
momentito | |||
colomon: gist.github.com/2474191 | 22:04 | ||
22:06
harukomoto joined
|
|||
TimToady | gfldex: that's a STD buglet | 22:08 | |
22:08
cognominal left
22:10
harukomoto left,
cognominal joined
22:11
mikemol left
22:12
bluescreen10 left
|
|||
dalek | ast: 10a70c6 | (Solomon Foster)++ | S03-operators/context.t: Fudge new test. |
22:18 | |
colomon | r: [1,2,3].join<abc> | 22:21 | |
p6eval | rakudo b64c1e: ( no output ) | ||
colomon | r: say [1,2,3].join<abc> | ||
p6eval | rakudo b64c1e: OUTPUT«postcircumfix:<{ }> not defined for type Str in method gist at src/gen/CORE.setting:8667 in sub say at src/gen/CORE.setting:6555 in block <anon> at /tmp/4CKLofnt8Z:1» | ||
colomon | n: say [1,2,3].join<abc> | ||
p6eval | niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Cannot use hash access on an object of type Str at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 320 (Any.at_key @ 7)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/cxorkH04CZ line 1 (mainlin… | ||
colomon | n: say [1,2,3].join<abc> ~~ Failure | 22:22 | |
p6eval | niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===Undeclared name: 'Failure' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1366 (die @ 3)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33)  at /hom… | ||
sorear | good * #perl6 | ||
japhb | o/ sorear | 22:23 | |
dalek | d: fab64fc | larry++ | STD.pm6: hash subscript should temp $*CURLEX |
22:24 | |
TimToady | gfldex++ | ||
dalek | ast: 939d046 | (Solomon Foster)++ | S02-literals/listquote.t: Fudge new test for niecza. |
||
22:24
bluescreen10 joined
|
|||
sorear | whee, an incomprehensible niecza bug report. | 22:25 | |
japhb | [Coke], masak: It appears to be important to 'unset GHC' before running 'sh bootstrap.sh' for cabal-install. Perhaps the GHC variable at the top of the installing-onto-Debian instructions should be 'GHC_SRC' or somesuch that does not collide with bootstrap.sh's internals? | ||
22:25
tyatpi joined
|
|||
TimToady | evalbot rebuild std | 22:25 | |
p6eval | OK (started asynchronously) | ||
TimToady | does that work again yet? | ||
[Coke] | I never installed on debian. | 22:26 | |
gfldex | after looking at rosettacode.org/wiki/Search_a_list#Perl_6 and S32 I found it rather strange that there is no .index method | ||
would that break lazy lists? | |||
japhb | ... whee, and now failed further into the cabal-install bootstrap at the time of 'Linking Setup ...', complaining of missing dependencies. | 22:27 | |
sorear | niecza: #<<< foo | ||
p6eval | niecza v16-23-gaa61ed5: ( no output ) | ||
gfldex | r: say List.^methods.grep: /pos/; | ||
p6eval | rakudo b64c1e: OUTPUT«at_pos» | ||
22:28
vlixes left
|
|||
gfldex | r: say List.^methods.grep: /index/; | 22:28 | |
p6eval | rakudo b64c1e: OUTPUT«» | ||
sorear | n: say +"" | ||
p6eval | niecza v16-23-gaa61ed5: OUTPUT«0» | ||
dalek | ast: 03211aa | (Solomon Foster)++ | S02-types/catch_type_cast_mismatch.t: Fudge new test for niecza. |
22:29 | |
japhb | Anyone know what to do about this: gist.github.com/2474289 | 22:30 | |
(cabal-install failure) | |||
dalek | blets: 6e47b90 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: adding logical ops |
||
blets: afe0ec8 | (Herbert Breunung)++ | docs/appendix-a-index.txt: overhaul multi and only + minor stuff |
|||
sorear | would I be a bad person to close github.com/sorear/niecza/issues/120 with no further action? | ||
22:31
cognominal left,
cognominal joined
|
|||
colomon | Is the issue just that the error message he's getting doesn't have a line number? | 22:32 | |
TimToady | looks like a leftover from the days in which #<<< was a valid comment beginner | ||
colomon | n: say +"**" | ||
p6eval | niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Cannot parse number: ** at /home/p6eval/niecza/lib/CORE.setting line 1364 (die @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3403 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 3405 (NumSyntax.str2num @ 4)  at /… | ||
TimToady | and we temporarily had a #<<< detector, which we subsequently removed (I think) | ||
std: #<<< foo | |||
p6eval | std fab64fc: OUTPUT«ok 00:00 39m» | ||
colomon | TimToady: I think he was just using #<<< to show where his problem is. | 22:33 | |
sorear | colomon: I think the main issue is that English is not his first language, which makes me really apprehensive to do anything with it | ||
22:33
sivoais left
|
|||
TimToady | when I run it, I do get: at /home/larry/perl6/niecza/foo line 0 (mainline @ 1) | 22:35 | |
colomon | Yeah. But I'm pretty sure he was trying to complain that when he runs that program, the error message he gets does have any line number info better than | ||
at /Users/colomon/tools/niecza/frip.pl line 0 (mainline @ 1) | |||
TimToady | the line 0 is wrongish | ||
colomon | at least, that's what I get when I try it. | ||
22:35
jaffa4 left
|
|||
TimToady | jinx | 22:35 | |
22:35
raiph left
22:36
donaldh left
|
|||
sorear | It's been the same behavior for months and it's impossible to fix without incurring a runtime penalty | 22:36 | |
22:36
sivoais joined
|
|||
TimToady | the lack of a line number seems to be precisely the complaint, according to the title | 22:37 | |
and I'll note that p5 does take a run-time hit in order to set the current line number (in an instruction that also clears the tmp stack, so not an extra dispatch) | 22:38 | ||
colomon | sorear: might it make sense to make that an option? ie --debug (or something) turns on the line number storage even though that slows things down. | 22:39 | |
TimToady | a real compiler could, presumably, reverse engineer the line number from the return address | 22:40 | |
lichtkind | TimToady: im bit confused over temp, on one side its the new local on other side just temporarely overwerites values | 22:42 | |
dalek | blets: 41208f3 | (Herbert Breunung)++ | docs/appendix-a-index.txt: fix $*PERL and $*PID lines + new formating rule for P5 comparison |
22:45 | |
22:45
tyatpi left
|
|||
dalek | blets: ef0b626 | (Herbert Breunung)++ | docs/appendix-a-index.txt: linkfix for :Perl5 and :p adverbs |
22:49 | |
22:52
skids joined
22:53
mikemol joined
|
|||
dalek | blets: b18b418 | (Herbert Breunung)++ | docs/appendix-a-index.txt: clear map example |
22:58 | |
22:59
brrt left
23:00
tyatpi joined
23:06
raiph joined
|
|||
dalek | blets: 55de143 | (Herbert Breunung)++ | docs/appendix-a-index.txt: reformat :p and :path |
23:14 | |
23:14
cognominal left
23:15
cognominal joined
|
|||
sorear | so.... what was the verdict? what should I do with 120? | 23:16 | |
dalek | blets: 0e4194f | (Herbert Breunung)++ | docs/appendix-a-index.txt: repair $*UID entry |
23:17 | |
colomon | "colomon: sorear: might it make sense to make that an option? ie --debug (or something) turns on the line number storage even though that slows things down." | ||
sorear | colomon: I was looking for a "yes" or a "no" | ||
lichtkind | good night | ||
colomon | if that's impractical, then I guess 120 should just get a nice explanation of why it's not desirable to store the line numbers. | 23:18 | |
sorear | of course it makes sense to have an option, but my current tuit supply allows onl "close" and "don't close" | ||
colomon | it's really a less-than-awesome, not a bug. want me to write a short explanation and close it? | ||
sorear | I'm chronically conflicted over whether LTAs belong in the bug queue | 23:19 | |
23:20
fgomez joined,
lichtkind left
|
|||
sorear | If you have a better explanataion, by all means post it | 23:20 | |
23:21
cognominal left
23:22
ranguard joined
23:23
cognominal joined
|
|||
colomon | "The error is what we would expect to get, but the error message would ideally have the line number of the problem. Unfortunately, tracking line numbers in this case would cause a hit on Niecza's performance. While we hope to improve this situation in the future, this is not a bug." | 23:23 | |
I've got that typed into the box there, will hit enter if you approve. :) | |||
sorear | +1 | 23:24 | |
colomon | commented and closed | ||
23:26
Chillance left
23:40
pochi_ left
23:45
flussence_ joined,
alester_ joined
23:48
flussence left
|
|||
japhb | phenny, tell fglock See gist.github.com/2474657 -- even if it will be some time before perlito6.js can compile rc-forest-fire, it would be nice to stop it from endlessly looping the same error messages. :-) | 23:48 | |
phenny | japhb: I'll pass that on when fglock is around. | ||
23:50
whiteknight joined,
alester left,
alester_ is now known as alester
23:52
FACEFOX left
23:53
machine1 left
23:58
FACEFOX joined
23:59
machine1 joined,
bluescreen10 left
|