»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by Juerd on 28 August 2009.
00:00 drbean left, M_o_C joined 00:05 drbean_ joined
TimToady masak: yes, it's known 00:13
00:13 masak left 00:18 alester left 00:26 _jaldhar left 00:27 _jaldhar joined 00:31 SmokeMachine left, SmokeMachine joined 00:36 sparc left 00:38 synth^2 joined 00:40 drbean joined 00:46 drbean left 00:50 drbean joined 00:51 _jaldhar left, jrtayloriv left 09:42 ilogger2 joined 09:57 clintongormley joined 10:14 _jaldhar joined 10:18 _jaldhar left, clintongormley left 10:20 clintongormley joined 10:25 masak joined
masak good day, #perl6. 10:25
moritz_ oh hai masak 10:26
10:26 Whiteknight joined
rbaumer anyone know why I get: ** (HyperWhatever) is not yet implemented at line 151, near "6);\n " when try to make november? 10:27
moritz_ rbaumer: is that the full error mesage? no file name included? 10:28
ah, I see the error
masak cognominal: ping
rbaumer: that was a bug I fixed the other day. try pulling. 10:29
oh! I haven't even committed the change yet! :/
moritz_ masak: there's map(**6) in lib/CGI.pm:151
adding whitespaces fixes that
should I, or do you want to do it? 10:30
masak hold on a minute...
10:31 _jaldhar joined
masak the bug is a collaboration between viklund and moritz_, so to speak. one was sloppy, and the other one strict. 10:32
moritz_ breaks stuff early 10:34
10:34 masak left
moritz_ rakudo: say (2**3).WHAT 10:34
p6eval rakudo 6e2104: OUTPUT«Int()␤»
moritz_ rakudo++ # just using Rats where appropriate got me rid of some floating point rounding errors in SVG::Plot 10:36
cognominal masak? 10:39
rbaumer moritz_: to fix I have to change map(**6) into map(* *6) ? 10:46
moritz_ rbaumer: yes. But I hope that masak is going to push a fix soon 10:48
10:53 sharada joined 10:54 masak joined
masak rbaumer: sorry about the delay. I fell off the 'net. 10:57
rbaumer: the fix is pushed now.
I think I'll spend the rest of the day tending to November, actually. specifically, making the test suite pass again, and fixing the bugs reported by lichtkind++. 10:58
rbaumer masak: thank you. but still got some errors while try to run test_wiki.sh: Parameter type check failed; expected Str, but got Failure for $string in call to parse_keywords in method CGI::parse_keywords (lib/CGI.pm:100) 11:02
So I wait till you got your cleanup done...
masak rbaumer: good to know. I will try to reproduce that failure on my end. 11:03
moritz_ I have to say that it's really fun to develop things on top of Rakudo 11:31
the supported syntax is already very expressive
and most of my typos are reported at compile time, with accurate line numbers
masak moritz_: aye. but for an outsider, the error messages can still be fairly LTA sometimes. 11:34
moritz_ masak: I know
masak I'm only saying it because my colleague, jonalv, who is here occasionally, has such an outsider perspective. he shares it with me sometimes. 11:35
11:36 szabgab joined
masak phenny: tell cognominal that I have built a simple Theseus maze solver in Perl 6. gist.github.com/181565 11:37
phenny masak: I'll pass that on when cognominal is around.
11:46 icwiener joined 11:47 hugme joined
masak hugs hugme 11:47
moritz_ masak: hugme now hugs people who are added to new projects, as you suggested 11:48
hugme: add masak to json
hugme hugs masak. Welcome to json!
masak excellent.
moritz_ bows
masak very in-character.
cognominal masak, sounds cool 11:49
phenny cognominal: 11:37Z <masak> tell cognominal that I have built a simple Theseus maze solver in Perl 6. gist.github.com/181565
moritz_ masak++ # calling a variable $wtf in the last gist
masak cognominal: yes, please give it a test run if you want.
moritz_ latest SVG::Plot news: upon request the pie chart plotter turns pie segments and the corresponding text into links 11:50
masak cognominal: the next logical step would be to start parameterizing on the positions of the minotaur, Theseus and the exit. and then to parameterize on all the walls -- there are 8 spots for walls in this size of labyrinth, so 256 combinations.
moritz_: can it be turned off? is it a parameter? 11:51
moritz_ masak: it is off by default, only if you pass a list of URL they become links 11:52
just like with the other plot types 11:53
masak cognominal: hm, and the exit has 12 possible positions, and the minotaur and Theseus each have 9. so that's 972 combinations. together with the walls, that's 248832 combinations... hello, combinatorial explosion. and this is only for a 3x3 maze.
still, I think I'll attempt to do that simulation.
the interesting part might well be to collect and present the results sensibly.
moritz_: sounds like a sane default. moritz_++ 11:54
11:54 agentzh joined
moritz_ I wonder what to do next. Legend boxes? xy plots? 12:00
masak implement something that scratches someone's itch. 12:01
& # changing location 12:02
12:02 masak left
moritz_ ah well, legend boxes are more important to me, but sound like less fun to implement :/ 12:03
cognominal just came with some slogan for Perl 6 : "Perl 6, an acquired taste"
12:06 agentzh left
Juerd Aren't most things that have an acquired taste bad for ones health? :) 12:11
12:15 szabgab left 12:20 agentzh joined 12:22 masak joined 12:29 ab5tract joined 12:46 M_o_C joined 12:49 szabgab joined, agentzh1 joined, agentzh left 12:50 alester joined 12:55 carlin joined, ruoso joined 13:03 agentzh1 left 13:05 alester left 13:06 alester joined 13:08 RonOreck_ joined 13:11 alester left 13:14 _jaldhar left 13:16 Chillance joined 13:17 agentzh joined
ruoso Hello! 13:17
masak ruoso: o/ 13:18
ruoso still impressed by sun's failure to see the relevance of closures 13:19
13:20 pmurias joined
pmurias ruoso: hi 13:20
ruoso hi pmichaud
hi pmurias
ruoso have just read masak's tweet and can't agree more 13:21
13:21 _jaldhar joined
masak ruoso: :) 13:21
for future reference, the tweet was: '[masak] can't help thinking some mechanism could be added to IRC tab completion to prevent the embarrassing situation of addressing the wrong user.'
in the above situation, the solution should be easy. pmurias just addressed ruoso, so ruoso's tab completion should default to addressing pmurias back, not pmichaud. 13:22
ruoso not that saying hi to pmichaud is an embarrasing situation... but...
hmmm... that looks a lot like the emacs' autocompletion algorithm 13:23
masak it can be further improved by adding a visual cue that highlights pmurias' nick where it appears in the IRC backlog. thus creating immediate gratification for the brain.
carlin surely there must be a userscript for some irc client somewhere that does that 13:24
masak ruoso: I'm using ERC right now, and it seems to work like that. um, except for the highlighting part, which would be neat.
pmurias if the tab completion was order according the time one last said something it would solve most problems
ruoso pmurias, that's what emacs do
it looks for the closest longest-token-match
at the times I was programming in Java (using emacs, since I can't stand those things they call IDE) 13:25
and I had situations like
pmurias ruoso: you don't like eclipse?
ruoso public method foo() throws NamingException, RemoteException, EJBException {
I just needed to ) tM-/, M-/, M-/ 13:26
pmurias, not quite... and the idea of having to press the "GC NOW" button seems disturbing
pmurias never saw the "GC NOW" button 13:27
ruoso it comes with a plugin, I guess
so you can keep the memory footprint under control 13:28
otherwise it gets 1GB RAM quite easily
13:28 agentzh left
masak one thing struck me about attribute initialization yesternight. because of the liberal policy of .new methods, you won't get flagged for misspellings. same with .clone methods. 13:28
ruoso and eclipse has a strange concept that you can't manage the repository from the command-line you *must* use the point-and-click tools it provides...
masak perhaps some nice static analysis could solve that. 13:29
ruoso: I use Eclipse, and I manage the repository from the command line.
ruoso masak, mispellings where?
masak ruoso: in named params sent in to those two methods.
ruoso masak, well, that was around 2005, maybe things improved since 13:30
masak, ah... I see..
masak, well,
it's not quite that liberal
masak ruoso: not saying it's easy, or fun. I still need to tell Eclipse to update manually.
ruoso it only sends to BUILD the attributes declared by that class
masak, ahhh... so it's still the same mess... 13:31
masak ruoso: ah, interesting.
ruoso thinks ALT+TAB, svn up is considerably easier than grabbing the mouse, moving it to some small button or menu, click, find the correct option inside that sub-menu, moving the mouse there and then clicking, while you watch a distracting popup open with even more distracting progress bars fill 13:32
masak, so, in theory, BUILDALL can detect attributes that were unused
masak ruoso: even that kind of pain can be alleviated by keyboard shortcuts in Eclipse. I kinda like its ability to define key bindings. very flexible. 13:33
ruoso: but in general, I agree that Eclipse is very framework-y and heavy.
ruoso: I'm not sure it should, but good to know it could. 13:34
ruoso masak, it probably should warn (once a warnings pragma is enabled)
masak thought warnings pragramata were enabled by default in Perl 6 13:35
ruoso not sure
pmurias aren't additional named params ignored in methods 13:36
?
ruoso pmurias, good question... I don't recall 13:37
masak pmurias: not ignored, but collected into a *%_.
pmurias that's what i meant
ruoso *if* you have that into your signature
masak no.
pmurias it's default
masak by default.
it can be turned off, though.
ruoso if you have no signature, that is...
pmurias so you can add hints in your subclasses
masak: how do you turn this off? 13:38
masak pmurias: by 'is hidden' or some such.
it's in S12. I don't fully grok it.
yet.
13:38 alester joined
pmurias is hidden has additional meaning 13:39
ruoso S06:1524 13:40
masak, pmurias, ^
13:40 nihiliad joined
ruoso the default *@_, *%_ only appears when you declare the signature with placeholders 13:40
it is *not* added by default otherwise
masak that's for functions.
ruoso signatures work the same 13:41
masak S12:1858.
ruoso for every routine
masak 'By default, all methods and submethods that do not declare an explicit C<*%> parameter will get an implicit C<*%_> parameter declared for them whether they like it or not.'
ruoso hmm... is that new? 13:42
pmurias that's old
ruoso interesting... i never noticed it
masak it's connected somehow to inheritance. 13:43
I think it's in light of inheritance that 'is hidden' makes sense, too.
ruoso masak, not to inheritance in the classical sense.. but in the nextsame sense
masak ah. well, I don't fully grok 'nextsame' either. 13:44
13:44 agentzh joined
ruoso masak, nextsame is the concept that replaces Aspect-Oriented-Programming 13:45
masak o_O
now, _that_ is news to me!
ruoso masak, take a look at how custom Action classes in catalyst work 13:46
masak ok.
ruoso for instance Catalyst::Action::SOAP::DocumentLiteral 13:48
pmurias isn't nextsame the same thing like SUPER? 13:49
ruoso not really
SUPER only follows in one direction
nextsame follows the MRO as if the method was not found
13:49 alester left
masak it's also used with .wrap, isn't it? 13:53
ruoso .wrap is not OO 13:55
.wrap is functional
masak so... "no, it's not used with .wrap"? 13:56
pmurias ruoso: how are we going to fill in methods into things like SV* or the perl 5 interpreter
add RI processing in the p5 build system?
* RI DSL
ruoso masak, please ellaborate, I'm not getting what you mean... 13:57
pmurias, we don't need to, the p5sv ri is entirely built in SMOP land
we just need to set the correct RI in the SV*
pmurias, ah... wait... 13:58
I see what your question means nwo
yes... we need to add RI processing into the p5 build system 13:59
masak ruoso: I'm just trying to get my head around the different uses of 'nextsame' et al. as far as I understand it, it's used for things like SUPER (except it does it according to the MRO somehow), and within a .wrap block. that the latter use isn't OO doesn't really matter to me at this point. 14:00
ruoso wonders if we refer to the same thing by .wrap 14:01
masak thing like $handle = &thermo.wrap( { callwith( ($^t-32)/1.8 ) } ); 14:03
ruoso rakudo: { print "World" }.wrap: { print "Hello "; callsame; say "!" }
p6eval rakudo 6e2104: OUTPUT«Method 'wrap' not found for invocant of class 'Block'␤»
ruoso rakudo: sub { print "World" }.wrap: { print "Hello "; callsame; say "!" } 14:04
p6eval rakudo 6e2104: OUTPUT«Confused at line 2, near ".wrap: { p"␤in Main (src/gen_setting.pm:3469)␤»
ruoso rakudo: (sub { print "World" }).wrap: { print "Hello "; callsame; say "!" }
p6eval rakudo 6e2104: ( no output )
ruoso masak, I think nextsame in that context is not really the same as nextsame inside a method call
masak ruoso: that was my point.
and it's also currently what bewilders me about nextsame et al. 14:05
I mean, it's very pretty that they get to share keywords like that, and it does make sense.
but it makes it slightly harder to fully embrace the semantics of it all.
ruoso masak, they probably work the same way 14:06
because they're just raising control exceptions I guess
14:06 agentzh left
masak but what if I wanted to do an MRO-style nextsame withing a wrapping block, for example? 14:06
I don't have an example ready, but I imagine something like that could occur.
ruoso masak, "Every Routine object", not every "Code" object
masak does that change matters? 14:07
ruoso yeah... it's a different semantic barrier
masak, ah wait..
ENOCOFEE
masak, what do you mean MRO without OO? 14:08
14:08 agentzh joined
masak ruoso: I don't. I though one might want to wrap a method or a submethod. 14:10
ruoso really needs cofee
ok...
IIRC, you use self.nextsame when using OO
and plain nextsame when using non-OO
no... that's not the case... 14:11
ruoso just looking at S12
masak, ok... I think I got it 14:12
the difference is in the dispatcher 14:13
the dispatcher is the one placing the implicit CONTROL block to manage nextsame calls
when you dispatch a method as a method, you're in the OO dispatcher
and then you have OO semantics on nextsame
pmurias ruoso: we can set the RIs from an XS module can't we?
ruoso when you invoke a method as a routine, you're in the regular multi dispatcher
pmurias, we can.... what do you have in mind? 14:14
ruoso goes grab a coffee
masak ruoso: ah, ok.
pmurias that we won't have to compile the RIs into the perl exectable we could just load them from an XS module (so we wouldn't have to make the perl 5 build system process the RIs) 14:15
ruoso pmurias, we're already building a custom p5 14:19
there's no gain in making it depend on later loading a XS module
except for the "no need to hack the p5 build system" part 14:20
ruoso .oO(thanks god for the domestic espresso machine) 14:21
pmurias, but if you think that will make things easier in the start, feel free to do it 14:24
pmurias, we could make all the "replace the message code by a fully-implemented one" in the XS 14:25
14:30 agentzh left 14:31 frew_ joined 14:34 agentzh joined
ruoso after this discussion with masak I actually realized that SMOP won't be penalized to support nextsame 14:40
it's just that only full high-level objects will support it
lower-level objects will simply fail if you try it
since they don't have a high-level MRO 14:41
what would be the name of the exception raised by nextsame/callsame/nextwith/callwith?
TimToady, actually, is the idea of nextsame et al being handled by CONTROL sane? 14:42
considering return is handled by CONTROL, it fits quite well 14:43
14:45 icwiener left
ruoso thinking about nextsame, I think the capture sent to the current routine need to be available somehow 14:46
14:47 agentzh left 14:48 jan_ joined
ruoso hmm... I just realized S12 doesn't spec pluggable MRO 14:52
it would probably make sense to have a .^mro that returns an object that implements the mro algorithm, so you can replace it... 14:53
14:53 ruoso left 14:54 ruoso joined, Psyche^ joined
ruoso one interesting question is wether it is stored in the metaclass or in the type object... 14:55
putting in another way
if you can customize the MRO for one specific type object, or just for every types of that metaclass instance
14:58 frew___ joined
ruoso lunch & 15:01
15:04 bionoid joined, leedo joined, bionoid is now known as Guest98709, alester joined
pugs_svn r28194 | colomon++ | [t/spec] Add tests to make sure Rats play nicely with Nums in basic arithmetic. 15:05
15:05 colomon joined
pugs_svn r28195 | colomon++ | [t/spec] Further rewriting of sine tests, and add cosine into the new scheme. 15:06
15:10 Psyche^ is now known as Patterner
dalek kudo: 09b9540 | (Solomon Foster)++ | src/setting/ (2 files):
Provide Any.sin, Any.cos, Complex.sin, and Complex.cos.
15:11
colomon rakudo: say 360.0.sin("degrees"); 15:16
p6eval rakudo 6e2104: OUTPUT«-2.44921270764475e-16␤»
15:16 Hale-Bopp joined
frettled is rewriting his plog subroutine using contextuals, da-dum-dee-dah. :) 15:16
colomon pmichaud, moritz_: use.perl.org/~colomon/journal/39590 (And anyone else who wants to take a look. Comments appreciated, but I'll probably be offline for the rest of the day in about five minutes.) 15:18
15:19 frew___ left 15:23 Hale-Bopp left, colomon left
frettled Hmm, is anyone else getting the most recent (09b954…) version of rakudo to compile? 15:24
15:24 frew__ joined
frettled tries a fresh «git clone» instead of updating with «git pull». 15:27
15:27 timbunce joined
carlin frettled: worked fine here, using the recommended parrot version 15:28
frettled (and a new Configure)
carlin: okay, I probably fudged the build process, then. 15:29
carlin or I didn't clean everything out properly
frettled Using a fresh clone and fresh Configure ought to do the trick, then. 15:30
15:36 Hale-Bopp joined
carlin freshly built parrot worked too (ubuntu 9.04 x86_64) 15:37
frettled Yep, it works now. Great. 15:43
frettled mumbles something about being a big clutz. 15:44
rakudo: say Temporal.new().iso8601 15:45
p6eval rakudo 6e2104: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3469)␤»
15:45 PhatEddy joined
carlin rakudo: say Temporal 15:46
p6eval rakudo 6e2104: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3469)␤» 15:47
frettled I'm pretty sure that what I'm doing shouldn't be allowed anyway.
rakudo: say Temporal.DateTime.new().iso8601 15:49
p6eval rakudo 6e2104: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3469)␤»
15:50 abra joined, abra left 15:51 abra joined
frettled rakudo: say Temporal.Time.new 15:51
p6eval rakudo 6e2104: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3469)␤»
frettled rakudo: ((Temporal::DateTime.new(:date(​Temporal::Date.new(:year(2010), :month(4))), :time(Temporal::Time.new)).epoch - time) / 86400).ceiling.fmt('%d days left until April!').say 15:52
15:52 szabgab left
p6eval rakudo 6e2104: OUTPUT«Confused at line 2, near "(:date(\u200bTe"␤in Main (src/gen_setting.pm:3469)␤» 15:52
PhatEddy perl6: sub foo($a) {say $a}; my $x; foo $x = 'hello' 15:53
15:53 charsbar joined
p6eval pugs: OUTPUT«␤*** Can't modify constant item: VBool True␤ at /tmp/bsklU30S4X line 1, column 30 - line 2, column 1␤» 15:53
..elf 28195, rakudo 09b954: OUTPUT«hello␤»
frettled rakudo: Temporal::DateTime.new(:date(Temporal::Date.new(:year(2010), :month(4)))).say 15:54
p6eval rakudo 09b954: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤»
15:54 timbunce left
frettled has confusd frettled regarding Temporal::DateTime. Again. 15:55
PhatEddy I sort of think pugs has the right idea here but am not sure where to check ...
frettled pugs: sub foo($a) {say $a}; my $x; foo ($x = 'hello') 15:57
p6eval pugs: OUTPUT«hello␤»
16:03 charsbar left
pmurias ruoso: wouldn't it depend on the metaclass, as the metaclass is the one which implements ^!dispatch? 16:05
16:08 charsbar joined
PhatEddy rakudo: sub foo($a) {say $a}; foo 'hello', 'goodbye' 16:10
p6eval rakudo 09b954: OUTPUT«too many arguments passed (2) - 1 param expected␤in sub foo (/tmp/lJ2eymXZLb:1)␤called from Main (/tmp/lJ2eymXZLb:2)␤»
PhatEddy ok ...
rakudo: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'goodbye' 16:11
p6eval rakudo 09b954: OUTPUT«hello goodbye␤»
PhatEddy still ok?
perl6: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'goodbye' 16:12
p6eval rakudo 09b954: OUTPUT«hello goodbye␤»
..elf 28195: OUTPUT«hello␤»
..pugs: OUTPUT«␤*** Can't modify constant item: VBool True␤ at /tmp/Ws7rZj6WrW line 1, column 30 - line 2, column 1␤»
16:15 tak11 joined, ab5tract left 16:16 charsbar left 16:18 asciiville joined, christine left, christine joined 16:19 meppl joined
carlin std: sub foo($a) {say $a}; my $x; foo $x = 'hello'; 16:22
p6eval std 28195: OUTPUT«ok 00:03 40m␤»
carlin std: sub foo($a) {say $a}; my $x; foo($x) = 'hello'; 16:23
p6eval std 28195: OUTPUT«ok 00:03 40m␤»
16:26 charsbar joined, charsbar left 16:27 frew_ left
frettled std: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'world'; 16:30
p6eval std 28195: OUTPUT«ok 00:03 41m␤»
PhatEddy std: sub foo($a) {say $a}; my $x; foo 'hello', 'world';
p6eval std 28195: OUTPUT«ok 00:03 41m␤»
carlin rakudo: sub Str($a) {say $a}; my $x; Str $x = 'bar'; 16:31
p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "$x = 'bar'"␤in Main (src/gen_setting.pm:3469)␤»
frettled If masak had been unidle, a rakudobug would have been submitted thrice already. ;) 16:32
16:32 payload joined
frettled While the syntax used may be permitted, it's certainly something I'd recommend against using, though. :) 16:33
mberends rakudo: my $t=Time.gmtime; say "{$t.date.month-name} {$t.date.year}"
p6eval rakudo 09b954: OUTPUT«September 2009␤»
frettled Aha.
mberends frettled: not the easiest API ;)
frettled rakudo: my $dt=Time.localtime; say "{$t.iso8601}" 16:34
p6eval rakudo 09b954: OUTPUT«Symbol '$t' not predeclared in <anonymous> (/tmp/4v70t87SWY:2)␤in Main (src/gen_setting.pm:3469)␤»
frettled arghle.
rakudo: my $dt=Time.localtime; say "{$dt.iso8601}"
p6eval rakudo 09b954: OUTPUT«Method 'localtime' not found for invocant of class ''␤»
frettled rakudo: my $dt=Time.time; say "{$dt.iso8601}" 16:35
p6eval rakudo 09b954: OUTPUT«Method 'time' not found for invocant of class ''␤»
frettled (good)
mberends sorry, localtime NYI. zones, leap seconds and all that :/
frettled rakudo: my $dt=Time.gmtime; say "{$dt.iso8601}"
p6eval rakudo 09b954: ( no output )
mberends frettled: add a .date or .time after $dt 16:36
frettled rakudo: my $dt=Time.gmtime; say "{$dt.date.iso8601}"
p6eval rakudo 09b954: OUTPUT«2009-09-06␤»
frettled rakudo: my $dt=Time.gmtime; say "{$dt.datetime.iso8601}" # ;)
p6eval rakudo 09b954: OUTPUT«Method 'datetime' not found for invocant of class ''␤»
carlin rakudo: class Foo {}; multi method Foo {}; 16:37
p6eval rakudo 09b954: OUTPUT«push_pmc() not implemented in class 'NameSpace'␤»
16:39 szabgab joined
frettled mberends: now if I only could convince rakudo to open a file for append, I'd be happy :D 16:40
mberends frettled: is there no :a yet? gosh! 16:41
16:42 abra left
mberends frettled: parrot supports an 'a' mode, but only if you combine it with 'w' 16:43
dukeleto what is the syntax for matching literal strings with PGE ?
16:44 sri_kraih joined
dukeleto it seems to be <[foo]>, i answered my own question 16:45
frettled mberends: hrm, it appears that it only fails while in an if test
dukeleto gives /me a cookie
16:45 charsbar joined, charsbar left
carlin 'Night all 16:46
16:46 carlin left
frettled Huh, now it works. I wonder what… 16:47
mberends rakudo: my $t=Time.gmtime; say "{$t.date} {$t.time}"
p6eval rakudo 09b954: ( no output )
16:48 charsbar joined
mberends rakudo: my $dt=Time.gmtime; say ~$dt.date 16:50
p6eval rakudo 09b954: ( no output )
mberends rakudo: say "I'm not dead yet!"
p6eval rakudo 09b954: OUTPUT«I'm not dead yet!␤» 16:51
pmichaud good midday, #perl6
frettled heh
I think I may have a rakudobug regarding comments, I'll see if I can reproduce it.
I was only going to write a simple blog entry. :D
16:52 charsbar left
ruoso pmurias, you mean the MRO? it is implemented inside .^dispatch, not .^!dispatch 16:52
actually, it seems to be inside .^parent
which is used by .^can, which, in turn, is used by .^dispatch
pmichaud, have you backlogged from today? 16:53
pmichaud, good midday, first ;)
16:54 justatheory joined 16:55 charsbar joined, charsbar left
frettled Phew, no rakudobug, phew, phew. 16:56
Just another possible one instead regarding file handles. :D
frettled grabs some food before double-checking. 16:57
ruoso pmichaud, anyway, take a look at my wonderings about nextsame and control exceptions...
pmichaud back from backlogging. jnthn++ is the nextsame expert at the moment 16:58
but essentially I think that 'nextsame' does the same thing "under the hood"
17:00 beggars joined
ruoso pmichaud, one other thing I was wondering was the possibility of getting the capture used in the current invocation as a special lexical (or dynamic) variable 17:01
pmichaud would seem possible, although it might reduce some opportunities for optimization 17:02
masak frettled: here I am, un-idle.
ruoso but nextsame/callsame seems to require it...
masak frettled: could you please summarize for me what needs rakudobugging?
pmichaud nextsame/callsame have to be able to access the arguments, yes, but it doesn't have to be "a capture", and it doesn't mean that the capture has to be exposed as a lexical 17:03
(if one plans to implement nextsame/callsame in perl 6, then yes, it's probably needs to be as you describe.)
(but it also might be far slower for something that really needs to be fast.)
ruoso I see.. 17:04
I, in fact, tend to model things using Perl 6 semantics and optimize later
masak "first, make it run, then make it right, then make it fast"... 17:05
ruoso I mean, even if the actual runtime is not written in Perl 6, it should be at least possible to bootstrap it using Perl 6
17:05 charsbar joined
asciiville masak: I live by that philosophy... 17:05
17:05 charsbar left
PhatEddy rakudo: sub foo($a) {say $a}; my ($x, $y); foo $x = 'hello', $y = 'goodbye' 17:06
p6eval rakudo 09b954: OUTPUT«Unable to set lvalue on PAST::Val node␤in Main (src/gen_setting.pm:3469)␤»
ruoso pmichaud, but my point was actually in confronting two possibilities, the first that callsame/nextsame would introspect the current stack itself and do whatever needed 17:07
vs callsame et al throwing an exception that is handled by the dispatcher (oo or multi)
17:12 charsbar joined 17:13 charsbar left
pmichaud right now rakudo uses the first mechanism 17:18
ruoso the semantics around it have some ramifications that need to be considered... 17:20
17:20 charsbar joined
ruoso method foo { nextsame; CONTROL { ... } } 17:20
pmichaud yes. 17:21
ruoso so I think it's time to ask TimToady about it... 17:23
;)
moritz_ asciiville: commenting on your blog fails with "invalid request" when javascript is disabled (no warning about that either) 17:40
PhatEddy perl6: sub my { say 'hello'}; &my(); 17:42
p6eval pugs, rakudo 09b954: OUTPUT«hello␤»
..elf 28195: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤ from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤ from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤ from
../home/evalenv/pugs/misc…
17:44 sri_kraih left
ruoso mildew: sub my { say 'hello' }; &my() 17:44
p6eval mildew: OUTPUT«hello␤»
PhatEddy std: sub my { say 'hello'}; &my();
ruoso I guess if mildew could get into the perl6 eval list
p6eval std 28195: OUTPUT«ok 00:04 55m␤»
moritz_ mildew: say "foo".uc 17:45
17:45 sri_kraih joined, gregoreee joined
p6eval mildew: OUTPUT«unknown method "uc" at message line 70 file build/native/src/idconst_message.c␤» 17:45
moritz_ ruoso: the thing is, mildew lacks very many very basic features, and is rather slow
you need users. 17:46
17:46 gregoreee left
moritz_ users who try to write applications in mildew, and kick your ass if you don't implement stuff like uc 17:46
ruoso moritz_, well... at least it points the line and the file that needs to be patched ;) 17:47
moritz_ yes, that's a good thing 17:48
and IMHO the reason why you don't have users is lack of publicity 17:49
frettled masak: irclog.perlgeek.de/perl6/2009-09-06#i_1472085 and onwards, see PhatEddy's attempts, and the tests against STD.
17:50 Tene joined
moritz_ nearly nobody outside of #perl6 and p6l knows about smop and mildew; when I write my "tidings" post I always ask myself "what's up with the other implementiosn" (ie everything but rakudo), and often enough I just don't know 17:51
you should blog about progress, make sure the blogs get aggregated by planetsix, ironman, persphere; write announcement mails to the list etc. 17:52
masak frettled: thanks. will have a look.
asciiville @moritz_: Thank for the heads up on the comment issue. I'll check that out. Maybe there's a config item somewhere in MTOS?
lambdabot Unknown command, try @list
ruoso that's my fault indeed..
PhatEddy rakudo: &foo('abc')
p6eval rakudo 09b954: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/RSUeSYMbrl:2)␤» 17:53
frettled masak: Anyway, it was mostly a joke because you're so good at submitting bugs :D
17:53 icwiener joined
asciiville moritz_: Thank for the heads up on the comment issue. I'll check that out. Maybe there's a config item somewhere in MTOS? 17:54
PhatEddy Think I'll plan to submit rakudobugs on that last one and the 'Past::VAL' node one 17:55
masak frettled: thank you. it's not that hard. :) 17:56
dukeleto broken links on wikipedia about PGE: en.wikipedia.org/wiki/Parser_Grammar_Engine 17:58
PhatEddy std: sub for($a) { $a }; &for('abc') { say 'a' } 18:00
p6eval std 28195: ( no output ) 18:01
frettled masak: hee-hee.
Oh, I think I have that possible rakudo bug, BTW.
This works: open($filename, :a); 18:02
This does not work: open ($filename, :a);
PhatEddy std: my abc() 18:03
frettled I was completely stumped why pmichaud's blog example worked and my code didn't, so I started out with his code and added in pieces of my own, line by line, and suddenly the code worked. The only difference was the whitespace between open and ( …
p6eval std 28195: OUTPUT«===SORRY!===␤Malformed my at /tmp/sD1LtI8x6G line 1:␤------> my ⏏abc()␤ expecting any of:␤ declarator␤ multi_declarator␤ scoped declarator␤ typename␤FAILED 00:02 36m␤»
PhatEddy So what does no output mean from std?
frettled std: sub for($a) { $a }; &for('abc') { say 'a' } 18:04
p6eval std 28195: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/AU3UHDz0PA line 1:␤------> sub for($a) { $a }; &for('abc') ⏏{ say 'a' }␤ expecting any of:␤ bracketed infix␤ infix
..stopper␤…
frettled PhatEddy: same as in rakudo; eval timeout, apparently.
PhatEddy rakudo: sub for($a) { $a }; &for('abc') { say 'a' } 18:05
p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "{ say 'a' "␤in Main (src/gen_setting.pm:3469)␤»
PhatEddy std: sub for($a) { $a }; for('abc') { say 'a' }
p6eval std 28195: OUTPUT«===SORRY!===␤for() interpreted as postdeclared function call at line 1; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/6cY7cdrsNq line 1:␤------> sub for($a) { $a }; for('abc') ⏏{ say 'a'
..}[0…
PhatEddy std: sub if($a) { $a }; 18:06
p6eval std 28195: OUTPUT«ok 00:02 39m␤»
PhatEddy std: sub for($a) { $a }; 18:07
p6eval std 28195: OUTPUT«ok 00:03 39m␤»
lisppaste3 frettled pasted "List vs. method arguments in Rakudo" at paste.lisp.org/display/86658 18:08
18:09 justatheory left
moritz_ frettled: it's supposed to be like that 18:09
unlike Perl 5, whitespaces are used to disambiguate stuff 18:10
frettled or, in this case, to ambiguate stuff ;) 18:11
moritz_ so you pass a list as the first positional parameter
and open() treats it as a Str
so it's as if you passed ~($filename, :a);
as the only argument
frettled Yes, I understand what happens. 18:12
But then we also have the following, right? loop ($i = 0; $i < 10; $i++) 18:13
18:14 alester left 18:15 payload left
moritz_ we do 18:16
which is kind of a fossile, IMHO
frettled M-hm.
moritz_ it's not a sub call, but a special syntax
frettled Yes, one that's shared with other control statement-like keywords, right? 18:17
It would be the same with if, while, for, …
moritz_ actually not
if, while, for etc. don't require parenthesis
loop does
frettled No, they don't require them, but they allow them? 18:18
moritz_ they usually allow arbitrary expressions 18:19
which means also (...), if there's a space before it
frettled yep 18:20
PhatEddy std: sub foo {say 'hello'}; foo() {}
p6eval std 28195: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/Aff2ETdAZk line 1:␤------> sub foo {say 'hello'}; foo() ⏏{}␤ expecting any of:␤ bracketed infix␤ infix stopper␤
..standard st…
PhatEddy rakudo: sub foo {say 'hello'}; foo() {} 18:21
p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "{}"␤in Main (src/gen_setting.pm:3469)␤»
frettled This has somehow escaped my attention earlier. I think it's a confusing and apparently inconsistent use of significant whitespace.
It would probably be less confusing if no built-ins allowed a similar syntax, or if parens weren't how lists were specified. Too bad that it's too late. 18:22
masak frettled: actually, the rule is simple.
PhatEddy I think that would make on last rakudobug for today
18:23 icwiener left
PhatEddy sorry for the signal to noise ratio today ... 18:23
frettled PhatEddy: hmm? Lots of signal here.
PhatEddy any objections to any of the three? 18:24
frettled masak: I don't think a rule that allows if, while, for etc. not to require parenthesis, but where loop does, where no whitespace is a syntax error for those control statements, yet is a requirement for method/function calls _is_ a syntax error, in any way could be called «simple»
PhatEddy: The latter is perhaps a less than awesome error message? 18:25
masak frettled: it's because you're viewing it the wrong way. :)
frettled masak: if someone is viewing it the wrong way, it's most likely because it's not simple ;)
masak frettled: the rule is: "if there's no whitespace between the word and the parens, it's a function call"
frettled masak: plus sub rules describing when it's a list and when it's part of a control structure. 18:26
masak: which is what's _really_ complicating the matter. It would be far easier if there was no exception; that is, either () denotes a list or it denotes begin/end closure for arguments.
18:27 sri_kraih_ joined
masak frettled: not sure I follow you now. 18:27
what are those sub-rules you're referring to?
feel free to respond while I bike back home. :) 18:28
18:28 masak left
frettled phenny, tell masak if (…), while (…), for (…) is optional, loop (…;…;…) _requires_ whitespace and parentheses (but infinite loops don't) 18:32
phenny frettled: I'll pass that on when masak is around.
18:38 PhatEddy left 18:40 ruoso left 18:46 tak11 left 18:47 sri_kraih left, sri_kraih_ is now known as sri_kraih 18:48 tak11 joined 18:50 masak joined
masak phenny, I know. 18:52
phenny masak: 18:32Z <frettled> tell masak if (…), while (…), for (…) is optional, loop (…;…;…) _requires_ whitespace and parentheses (but infinite loops don't)
masak frettled: yes. a moments thought will reveal why.
s/ts/t's/ 18:53
frettled rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; } default { say "Def." ~ $b; } } foo(4); 18:54
p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "default { "␤in Main (src/gen_setting.pm:3469)␤»
masak frettled: missing semicolon.
frettled ah 18:55
rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } } foo(4);
p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "foo(4);"␤in Main (src/gen_setting.pm:3469)␤»
frettled duh, again.
rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } }; foo(4);
p6eval rakudo 09b954: ( no output )
masak silly p6eval...
frettled rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } }; foo(1); foo(4); 18:56
p6eval rakudo 09b954: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near ""␤in Main (src/gen_setting.pm:3469)␤»
frettled aha, duh.
rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } } }; foo(1); foo(4);
p6eval rakudo 09b954: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Def.␤Use of uninitialized value␤Use of uninitialized value␤Def.␤»
frettled </spam>
araujo rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; } default { say "Def." ~ $b; } }; foo(4); 18:57
p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "default { "␤in Main (src/gen_setting.pm:3469)␤»
araujo well
frettled Semicolon in wrong place and missing curly bracket before next-to-last semicolon. 18:58
mikehh rakudo (09b9540) builds on parrot r41074 - make test / make spectest (up to r28195) PASS - Ubuntu 9.04 amd64 (g++)
frettled masak: BTW, I understand why the loop construct needs to have something that «protects» the world from its internal semicolons. But the difference in handling whitespace with parenthesis is still not what I'd call simple :) 18:59
rakudo: sub foo ($a, $b?) { given $b { when 1 { say "One - 1"; }; default { say "Def." ~ $b; } } }; foo("a",1); foo("a",4); 19:01
p6eval rakudo 09b954: OUTPUT«One - 1␤Def.4␤»
araujo rakudo: sub foo ($a, $b?) { given $b { when 1 { say "One - 1"; }; default { say "Def." ~ $b; } } }; foo("a"); 19:03
p6eval rakudo 09b954: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Def.␤»
19:03 masak left
frettled rakudo: sub foo ($a is rw) { $a ~= "- OH HAI"; say $a; }; sub bar ($a) { foo($a); }; bar("HELO"); 19:03
p6eval rakudo 09b954: OUTPUT«Cannot assign to readonly variable.␤in sub foo (/tmp/YiN2Zoqc61:2)␤called from sub bar (/tmp/YiN2Zoqc61:2)␤called from Main (/tmp/YiN2Zoqc61:2)␤»
19:04 masak joined
frettled Shouldn't that have worked? 19:05
masak frettled: um, in irclog.perlgeek.de/perl6/2009-09-06#i_1472085 that you sent me, Rakudo seems to be doing OK. it's Pugs throwing a fit, as far as I can see.... 19:06
19:06 ruoso joined
frettled masak: 15:56 PhatEddy I sort of think pugs has the right idea here but am not sure where to check ... 19:07
masak: I was wisely keeping my claptrap shut regarding the validity :) 19:08
19:10 masak left, masak joined
masak I'm barely connected today, it would seem. :/ 19:10
frettled masak: I can't blame you, I'm not making it easy. :d 19:11
std: sub foo ($a is rw) { $a ~= "- OH HAI"; say $a; }; sub bar ($a) { foo($a); }; bar("HELO");
p6eval std 28195: OUTPUT«ok 00:04 40m␤»
frettled Okay, does that mean I can submit a rakudobug now? :D 19:12
masak no.
19:13 rblasch joined
masak you're modifying $a. 19:13
you're not allowed to do that.
moritz_ actually it should complain already at signature binding time
ie during the dispatch
frettled Hrm, shouldn't std complain, then? 19:14
moritz_ no
it'd need to execute the code to be able to complain
frettled rakudo: sub foo ($a is copy) { $a ~= "- OH HAI"; say $a; }; sub bar ($a) { foo($a); }; bar("HELO");
p6eval rakudo 09b954: OUTPUT«HELO- OH HAI␤»
masak frettled: no, because it doesn't bind signatures...
anyway, about 'foo $x = 42', what I see happening is the assignment being made, and then the result being sent as an argument. not so strange, by me.
moritz_ today it's just a (smart) parser
frettled rakudo: sub foo ($a is rw) { $a ~= " - OH"; say $a; }; sub bar ($a is rw) { foo($a); say "HAI"; }; bar("HELO"); 19:16
p6eval rakudo 09b954: OUTPUT«HELO - OH␤HAI␤»
frettled rakudo: sub foo ($a is rw) { $a ~= " - OH"; say $a; }; sub bar ($a is rw) { foo($a); say $a ~ "HAI"; }; bar("HELO"); 19:17
p6eval rakudo 09b954: OUTPUT«HELO - OH␤HELO - OHHAI␤»
frettled Aha.
I didn't get that from reading S06; I saw that «is ref» was a way of saying that you pass by reference, but apparently, the default is to pass by reference. 19:18
(if the value passed is a variable)
masak I don't think I'll care about staying online much longer. if anyone comes looking for me, I'll be offline tending to November.
19:18 masak left
moritz_ frettled: the default is to pass by read-only alias 19:19
frettled moritz_: yes, I saw that, but the use of «alias» wasn't something that triggered «that must mean reference» :) 19:20
moritz_ well, "reference" has a different meaning in Perl 5, so try to avoid that word, I think 19:21
frettled It's just a matter of my vocabulary not having a one-to-one mapping with that used in the synopses.
moritz_: When I think of «pass by reference/value/name», I think of more classical definitions as I learned them sixteen years ago, so it's probably polluted. 19:22
moritz_ we really need better user space documentation.
frettled AFAICT, «pass by alias» works exactly like «pass by reference» would, except for the Perl 5 meaning of reference. 19:23
moritz_ right.
frettled I think it might be better to use more traditional computer science terms :) 19:26
19:28 jlmoko joined
asciiville For anyone interested, I just pushed Plan B xSQLite3 to github.com/asciiville/xSQLite3. I just built it on Ubuntu 9.04 Server and Cent OS 5.3 and it works, but it is still bleeding edge at this point. :) 19:59
moritz_ asciiville++ 20:00
20:06 icwiener joined 20:19 ljuwaidah joined, ljuwaidah left
frettled moritz_: I've used today's learning to blog a bit, and if you (or anyone else) have any corrections, suggestions for improvements or whatever, please let me know (or comment there): howcaniexplainthis.blogspot.com/200...erl-6.html 20:25
moritz_ frettled: "Contextual variables follow a lexical call path." s/lexical/dynamic/ 20:26
frettled Thanks :D 20:27
20:30 jlmoko left
pmichaud back (briefly) from errands 20:33
frettled pmichaud++ for Rakudo day blog entry, that was really nice. 20:36
(and it gave me something for Iron Man, haha :D)
moritz_ pmichaud: it would be nice if you could look at my recent p6c mail (split up compilation of the setting) in the next few days 20:37
pmichaud moritz_: will do
moritz_: You missed option (4): fix it so the class Foo { ... }; syntax works 20:38
(where the ... is literal here)
moritz_ pmichaud: that's also fine by me if you or jnthn can do it, but I don't think I can 20:39
pmichaud I'm looking to see where that syntax is defined again, though
(in the synopses) 20:40
moritz_ S06:251, S03:@multiple 20:42
pmichaud it talks about ... for blocks there, but not for body-less class declarations 20:43
moritz_ grepping for 'yada' is simpler than grepping for '...' ;-)
pmichaud: that's right - maybe we should ask for clarification from TimToady++
pmichaud istr there being a place in the synopses that explicitly said "class Foo { ... };" declared the symbol without requiring a later augment/is also
anyway, if we can get "class Rat { ... };" to work, then we can put that inside of Int.pm and others like it and not have to worry about the ordering 20:44
(I think)
moritz_ that's right
pmichaud of the other 3 options, I'd go with #3 I think 20:45
moritz_ aye 20:46
20:46 sm` joined
frettled Hmm, S16:73 (or so) uses temp $*OUT - that's not valid anymore, is it? 20:49
moritz_ I think temp() is still specced, but NYI in rakudo 20:50
frettled Aha.
moritz_ though today you'd write that as my $*OUT = ... I think 20:51
21:05 kidd_ joined
frettled No, not quite. 21:07
That doesn't restore scope.
ouch, lousy phrasing.
21:07 timbunce joined
frettled What I meant was that $*OUT isn't restored when you return to the outer scope. 21:08
moritz_ it's not?
frettled Not in Rakudo today, at least.
moritz_ rakudo: my $*a = '3'; do { my $*a = 5; say $*a; }; say $*a;
p6eval rakudo 09b954: OUTPUT«5␤3␤»
frettled moritz_: but now you used a «my» 21:10
moritz_ 22:50 <@moritz_> though today you'd write that as my $*OUT = ... I think
frettled Ah, sorry, I think I'll go to bed, I missed your first «my».
moritz_ going to bed - not a bad idea
frettled I should've done it nearly two hours ago :) 21:11
Good night!
moritz_ good night
literal will warnings be implemented as exceptions? 21:18
moritz_ aye
literal will a user be able to do something like "use warnings <FATAL>;" which will also apply to non-language warnings? 21:19
er... I mean :fatal of course.
moritz_ or maybe 'use fatal :warnings;'
literal yeah
moritz_ but I expect something along these lines, yes
21:25 sevvie joined
dalek kudo: 205733f | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION to a value later than the pluggable_runcores merge
21:27
21:31 rblasch left
mikehh rakudo (09b9540) builds on parrot r41083 - make test / make spectest (up to r28195) PASS - Ubuntu 9.04 amd64 (g++) 21:37
21:40 sharada left 21:41 masak joined
masak mberends: ping 21:41
21:42 asciiville left
japhb Any special incantation necessary to enable the Perl5 integration in Rakudo? 21:43
moritz_ japhb: you need to install blizkost 21:44
japhb moritz_, url?
or 'use proto' ?
masak github.com/jnthn/blizkost/ 21:45
moritz_ github.com/jnthn/blizkost/tree/master
masak japhb: I don't think proto lists blizkost, actually...
moritz_ rakudo: say 1 + eval('2+3', :lang<perl5>); 21:46
japhb OK, thanks
p6eval rakudo 09b954: OUTPUT«No applicable candidates found to dispatch to for 'infix:+'␤in Main (/tmp/kDXZ5PTnSu:2)␤»
moritz_ rakudo: say 1 + +eval('2+3', :lang<perl5>);
p6eval rakudo 09b954: OUTPUT«6␤»
masak jnthn++ # friendly and informative README file
japhb What is a "soft consonant"? 21:47
masak japhb: it's a slavic thing.
21:47 sevvie left
japhb Oh those crazy Slavs ... 21:48
masak japhb: if it's anything like Russian, it's not a "t" as it might be sounded in English, but more of a mixture between a "t" and a "d" (i.e. no aspiration), possibly with a barely sounded "s" after it. 21:49
japhb Interesting
masak phenny: tell mberends that I would be delighted if he could try and reproduce an issue I have with HTTP::Daemon right now. steps to reproduce are: check out latest versions of Druid, Web and H::D. fiddle PERL6LIB. run bin/web-druid. hit given URL. bam. error I get is in latest commit msg.
phenny masak: I'll pass that on when mberends is around.
Tene hi masak 21:50
masak Tene: hello, friend.
mberends masak: pong
phenny mberends: 21:49Z <masak> tell mberends that I would be delighted if he could try and reproduce an issue I have with HTTP::Daemon right now. steps to reproduce are: check out latest versions of Druid, Web and H::D. fiddle PERL6LIB. run bin/web-druid. hit given URL. bam. error I get is in latest commit msg.
japhb
.oO( Is there a rule somewhere that romanization has to completely fail to capture the language nuances for people who don't *already* speak the language?)
masak Tene: how are the segfaults coming along?
Tene masak: the gf started work on the butterfly-winged female humanoid camelia.
masak: I ran into a huge amount of family drama that has occupied almost all of my time.
arnsholt japhb: Well, there are two kinds of transcription
masak japhb: romanization is a projection, and projections are destructive by nature.
moritz_ masak++ # nice explanation 21:51
masak Tene: understood. I've been occupying myself in non-Web.pm ways too this weekend.
moritz_: thanks. are you able to attest to its veracity?
Tene I don't really have the mental energy left over to work on anything very taxing, sorry.
arnsholt The scholarly kind, which is essentially a one to one mapping of the writing system of the language onto the Latin alphabet (for example IAST for Devanagari)
japhb masak, While true, it seems doubtful that most romanization schemes have to project things *quite* so flat. It's like choosing to project from 4 dimensions all the way to 2, instead of 3. 21:52
arnsholt The other kind is more aligned with how the text is read. For example when you transcribe consonant assimilation in Arabic
moritz_ masak: mostly, yes
masak Tene: no problem. as long as we're on the same page of what the next step is, we'll take it when the tuits are available.
21:52 tak11 left
japhb Tene, I am (among other things) working with your eval in NQP code today. If/when it works for me, I'll let you know. 21:53
masak Wikipedia tells me I should use the term 'Palatalization'. en.wikipedia.org/wiki/Palatalization 21:54
Tene japhb: please feel free to harass me about anything. I should be online all day today.
japhb Tene, OK, thank you
arnsholt, thank you for the explanation 21:55
Tene masak: I'm going to try wrapping some other library and starting from scratch. You have any preferences for non-mysql db software?
I remember you mentioning sqlite? 21:56
masak Tene: that works. no real preference.
Tene: having _anything_ working from Rakudo will be a revolutionary thing.
arnsholt japhb: You're welcome. In short, transcription/transliteration is a really thorny problem. Especially when it comes to systems like Chinese and the stuff derived from it 21:57
japhb I thought someone got sqlite3 working?
arnsholt Or cuneiform, which is kind of weird as well
japhb coulda sworn I saw a u.p.o post about it
moritz_ japhb: yes, asciiville did
Tene oh, I remember someone mentioning that.
masak is there public runnable code somewhere? 21:58
moritz_ github.com/asciiville/xSQLite3
mberends masak: getting latest web, http-daemon, druid now... 21:59
Tene masak: looks parrot's SQLite3.pir file works.
let's see why asciiville needed a C wrapper... 22:00
masak mberends: my neighbournet is wonky-ish, so I might drop off without warning.
japhb nopaste?
22:00 KatrinaTheLamia left
japhb oh, duh, topic 22:00
masak Tene: I hereby task you with managing the complexity of finding the best db solution for Web.pm, out of those that already exist and work. :) 22:01
22:01 KatrinaTheLamia joined
lisppaste3 japhb pasted "untitled" at paste.lisp.org/display/86672 22:01
japhb Tene, what am I doing wrong in the above paste?
Tene japhb: looks like there's no 'json' compiler that gets installed as a language. 22:02
ls ~/parrot/lib/1.5.0-devel/languages/
cardinal@ nqp/ parrot/ pct/perl6/pge/ tge/
japhb Tene, ah, so the failure is just in parrot's install code then ... 22:03
Tene no, nothing installs a JSON language.
So, yes.
japhb bleah
Tene there's a JSON.pir installed in library/
22:04 Whiteknight left
japhb The downside of running from installed parrot is that it's easy to forget that the installed tree doesn't match the checkout ... 22:04
22:04 clintongormley left
Tene there isn't a json language in the checkout, either. 22:04
japhb Tene, huh? There is in mine ...
$ ls parrot/compilers/json/ 22:05
JSON JSON.pbc JSON.pir Makefile
Tene is that in the language search path?
masak mberends: random, disassociated thought about the upcoming proto reform: we should perhaps think a bit about how development of installed modules will work? (i.e. will the .pir files in the ~/.perl6lib dir take priority? and how to override that sanely?)
Tene japhb: no, that's not in the language search path. 22:06
22:06 KatrinaTheLamia left
Tene japhb: put it in runtime/parrot/languages/json/json.pir 22:06
22:06 KatrinaTheLamia joined 22:07 justatheory joined 22:08 KatrinaTheLamia left
rbaumer masak++ (and others?) # to get november test_wiki.sh running 22:08
22:09 timbunce left
masak rbaumer: right. I did that a few hours ago. forgot to alert you, sorry. 22:09
22:11 icwiener left
lisppaste3 tene pasted "masak++: this works" at paste.lisp.org/display/86673 22:12
masak xSQLite3 has now been assimi^W added to proto's projects.list.
Tene: that's great news. will you be here (my) tomorrow?
Tene When is that?
masak it's midnight now, so eight hours from now. 22:13
Tene Probably, unfortunately.
I *should* be sleeping then, but I don't expect to be.
masak oki. I'll try that piece of code then and ping you when it doesn't work. :) 22:14
Tene masak: it works from ext/SQLite3/ in parrot's checkout
I haven't checked to see if that's even installed.
masak: I'll work on select and insert statements and such for now.
'night
masak Tene: no, it doesn't work from that dir on my box. :) getting "Null PMC access in get_pmc_keyed()" 22:15
Tene: excellent. keep up the good work. this will be great! 22:16
masak &
22:16 masak left
Tene he didn't get my latest parrot commit before trying it. :) 22:17
22:18 KatrinaTheLamia joined 22:22 KatrinaTheLamia left 22:30 KatrinaTheLamia joined
mberends phenny, tell masak web-druid runs ok on Linux but web/make.log says "no rule to make target 'lib/Handler/HTTPDaemon.pir'": there is no Handler directory 22:32
phenny mberends: I'll pass that on when masak is around.
22:52 pmurias left 22:54 sevvie joined 23:03 mberends left 23:05 asciiville joined 23:11 patspam joined 23:12 patspam is now known as patmadispam 23:21 kidd_ left 23:22 ihrd joined, ihrd left 23:25 kidd joined 23:29 M_o_C left 23:31 sm` left, sm` joined 23:48 drbean joined
Tene asciiville: Hi! 23:58
asciiville: I've been working on using Parrot's SQLite3.pir from Rakudo. I see that you had some kind of C wrapper around libsqlite. I'm curious about why. 23:59