🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:03
lizmat joined
00:10
pecastro left
00:11
hungrydonkey joined
|
|||
lizmat | weekly: www.flickr.com/photos/wendyga/albu...2960601066 | 00:20 | |
notable6 | lizmat, Noted! (weekly) | ||
00:24
hungrydonkey left,
mahmudov left,
hungrydonkey joined
|
|||
rypervenche | I'm thinking of going to the Perl and Raku conference in Houston, although I'm not sure if there will be enough Raku stuff. I'm not learning Perl and I imagine it will be mostly Perl. | 00:26 | |
00:27
hungrydonkey left
|
|||
SmokeMachine | foo222: but that’s not raku code... that’s a kind of configuration to define how to recognise patterns on stream of events... | 00:32 | |
foo222: just to enrich it with new higher level events... | 00:34 | ||
(Sorry my battery had finished... and now, the cellphone’s battery is almost finishing either...) | 00:37 | ||
00:46
sena_kun left
|
|||
foo222 | SmokeMachine: Sounds like you're saying you can't have Rakudo as a dependency. Anyhoo, I've got to turn in for the night. o/ | 00:47 | |
00:51
Kaiepi left
00:52
Kaiepi joined
01:01
hungrydonkey joined,
sena_kun joined
01:06
hungryd73 joined
01:08
hungrydonkey left
|
|||
timotimo | RFC: give both ceiling and floor an optional positional parameter that works very much like the parameter round takes | 01:13 | |
guifa | Given I was the one who asked for the round parameter … I’ll ++ the RFC | 01:27 | |
01:28
aborazmeh left
01:35
wildtrees left
|
|||
rypervenche | I've got two variables that contain strings. If I want them to be concatenated together and be a new variable name and then interpolate it, is this the correct syntax to use? gist.github.com/rypervenche/5c9590...216d17cd3d | 01:38 | |
discord6 | <theangryepicbanana> looks good | 01:39 | |
rypervenche | Nice. I never figured out how to do that in Bash. Good to know I can do it in Raku. | 01:42 | |
02:01
ensamvarg joined
|
|||
guifa | When I first saw FALLBACK I didn’t see much use to it | 02:07 | |
Now that I’m redoing CLDR’s backend, it’s super useful | |||
I can enable both hash and attribute based access (which actually avoids the ::($foo) if trying to access things from a variable because .{$foo} ). Elements that are known in advance (e.g. that I’ve explicitly proivded support for) can be set as attributes with faster access. | 02:11 | ||
02:11
molaf left
|
|||
guifa | Anything that I haven’t gotten support for yet (or newly add stuff) can be caught by FALLBACK that reads from a hash. From the user’s perspective, you can use both atributes or hash access, with no difference in programming, albeit with a speed increase for using attributes that I’ve defined | 02:11 | |
02:12
ufobat_ joined
02:15
ufobat left
02:17
guifa2 joined
02:23
molaf joined
02:38
Kaiepi left
02:39
Kaiepi joined
02:45
Maylay left
02:46
sena_kun left
03:01
Geth joined
03:02
sena_kun joined
03:06
Maylay joined
|
|||
rypervenche | I've created a subset for my MAIN (subset EightUInt of UInt where 1 .. 8), and | 03:09 | |
03:09
foo222 left
|
|||
rypervenche | oops. And my parameter is optional. It errors out if I don't put in an argument for that parameter. | 03:09 | |
It gives "Use of uninitialized value of type Int in string context." | 03:10 | ||
03:15
leont left
|
|||
guifa2 | code? you're probably trying to print out an object | 03:32 | |
03:38
Sgeo__ joined
03:41
hungrydonkey joined,
Sgeo_ left
|
|||
rypervenche | $*USAGE maybe? | 03:42 | |
One sec | |||
03:45
hungryd73 left
|
|||
rypervenche | guifa2: gist.github.com/rypervenche/38c938...57774c0d54 | 03:47 | |
guifa2 | aha it has to do with the subset which is expecting it to be defined | 03:50 | |
change it to subset EightUInt of UInt where !.defined || 1 .. 8; | |||
You've said, effectively, that EightUInt can only be the values 1, 2, 3, 4, 5, 6, 7, 8. And undefined value, by definition, can't be any of those | 03:51 | ||
rypervenche: I can see how that's a bit unexpected at first though | 03:53 | ||
rypervenche | Ahhh, that makes sense. | ||
I guess I was thinking that if I didn't pass any option for that parameter it would be undefined, but it's actually an (Int). | 03:54 | ||
Ahh, undefined would be (Any), or in this case (Int), since I set its type. Is that right? | 03:56 | ||
guifa2 | rypervenche: It will be (Int) yes | 03:58 | |
rypervenche | Ok, I understand. Thank you for your help. | 03:59 | |
guifa2 | In fact actually | ||
If you look at the definition for UInt, you'll see the same trick I had to do: | |||
subset UInt of Int where {not .defined or $_ >= 0}; | |||
04:00
Doc_Holliwood left
|
|||
rypervenche | Oh! I've seen that before. | 04:00 | |
I'll have to keep working on this tomorrow. It's getting late here. Thanks again for your help. | 04:02 | ||
guifa2 | Since you're only doing 1..8, there's no need to make it a subset of UInt. Subset checking has to be done at run time, and I believe it will first check that $generation is a UInt, and *then* check that it's your EightUInt | ||
So just make it a subset of Int and be done :-) | |||
Sleep well! | 04:03 | ||
04:15
cpan-raku left,
cpan-raku joined,
cpan-raku left,
cpan-raku joined
04:17
gabiruh left,
gabiruh joined
04:18
guifa2 left
04:33
molaf left
04:45
sena_kun left
04:59
sena_kun joined
05:18
Doc_Holliwood joined
05:46
Actualeyes left,
Actualeyes joined
05:53
rindolf joined
06:13
[Sno] left
06:26
nt80 left,
nt80 joined
06:31
Sgeo_ joined
06:35
Sgeo__ left
|
|||
holyghost | I've added another MAP learner to github.com/theholyghost2/p6-Game-Bayes | 06:39 | |
MAP = max a posteriori | |||
It uses midpoints of intervals and is called the grid method | |||
Now where it gets interesting you can use complex intervals by rotating complex to real numbers and then real to complex and so on | 06:41 | ||
You extrapolate, interpolate and so on | 06:42 | ||
So you have an extra dimension for probabilities which are potentials by using the complex number circle | 06:43 | ||
then you can transform/surrogate your data by any way | |||
:-) | |||
06:44
stoned75 left,
sena_kun left
06:49
ambs left
06:58
nebuchadnezzar joined
07:00
aluaces joined
07:02
sena_kun joined
07:04
NODE left,
NODE joined
07:06
squashable6 left,
ensamvarg left,
squashable6 joined
07:19
ambs joined
|
|||
holyghost | .tell Xliff thanks for updating the raku/perl6 compiler :-) | 07:21 | |
tellable6 | holyghost, I'll pass your message to Xliff | ||
07:33
Doc_Holliwood left
07:47
domidumont joined
07:49
Actualeyes left
07:53
hacktortu left
08:00
kensanata joined
08:06
hacktortu joined
08:12
NODE left
08:13
NODE joined
08:14
NODE left
08:15
NODE joined
|
|||
SmokeMachine | foo222: no, that’s not what I’m saying… I’m saying that I want the user to write a simple set of rules instead of writing a program. And I want to hide the complexity of handeling the events away from the user. | 08:23 | |
tellable6 | SmokeMachine, I'll pass your message to foo222 | ||
SmokeMachine | foo222: I mean, I’m writing a service and not a module... | 08:24 | |
tellable6 | SmokeMachine, I'll pass your message to foo222 | ||
08:30
Actualeyes joined
08:40
Doc_Holliwood joined
08:46
sena_kun left
09:02
sena_kun joined
09:08
dakkar joined
09:15
zakharyas joined
09:23
Doc_Holliwood left
09:27
zakharyas left
09:28
pecastro joined
09:29
zakharyas joined
|
|||
SmokeMachine | foo222: now, my “event parsing language” looks more a mix of classes and grammar: gist.github.com/FCO/82b48d1eb3e212...78752281a4 | 09:46 | |
tellable6 | SmokeMachine, I'll pass your message to foo222 | ||
09:51
veesh left
09:53
wamba joined
10:03
veesh joined
10:10
foo222 joined
10:12
abraxxa1 left,
abraxxa joined
|
|||
SmokeMachine | does any one have any advice about that ^^? | 10:19 | |
foo222 | SmokeMachine: I again acknowledge your "user ... simple ... rules instead of ... program. And ... hide ... handeling the events" comment. I'm also mulling your new "event parsing language". I acknowledge possibilities inherent in grammar paradigm. And in use of $/ matching behavior & syntax. In return, I would appreciate *non-dismissive* | 10:20 | |
recognition of this: tinyurl.com/rnxxztd | |||
tellable6 | 2020-02-05T08:23:53Z #raku <SmokeMachine> foo222: no, that’s not what I’m saying… I’m saying that I want the user to write a simple set of rules instead of writing a program. And I want to hide the complexity of handeling the events away from the user. | ||
2020-02-05T08:24:43Z #raku <SmokeMachine> foo222: I mean, I’m writing a service and not a module... | |||
2020-02-05T09:46:22Z #raku <SmokeMachine> foo222: now, my “event parsing language” looks more a mix of classes and grammar: gist.github.com/FCO/82b48d1eb3e212...78752281a4 | |||
SmokeMachine | foo222: using multi functions for that is very good… I use it a lot on Red translators (github.com/FCO/Red/blob/master/lib....pm6#L202) but the idea here is kinda new language, I mean a DSL, a language to recognise event patterns and create new events... | 10:28 | |
lizmat | weekly: video.fosdem.org/2020/AW1.125/rakulang.mp4 | 10:37 | |
notable6 | lizmat, Noted! (weekly) | ||
lizmat | alas, no actual video :-( | 10:38 | |
foo222 | SmokeMachine: I recognize what you say about your idea and am not at all dismissing it; but, first, I'm requesting that you take a step back and *give proper attention*, for more than half a message, on clarify why the "good" isn't good *enough* for "that", given that "that" is (arguably) sufficiently flexible and (unarguably) relatively high | 10:40 | |
performance matching in an *existing* DSL (sig based pattern matching) that's arguably fairly well suited to the task (recognizing event patterns and creating new events, even if there's scope for wrapping it in extra syntax sugar for novice users) | |||
10:41
nt80 left,
nt80 joined
|
|||
SmokeMachine | foo222: are you asking why I think I should not do that as a module? (I think my english isn’t good enough, sorry) | 10:43 | |
10:47
sena_kun left,
Doc_Holliwood joined
|
|||
SmokeMachine | foo222: but if that’s what you are asking, that’s the answer: because I want it to be a “product” that will be running, and when it receive a new set of rules, it start processing the new events… without downtime and without the user having to implement it. It should connect into different streams: log files, kinesis, Kafka, logstash, etc. and process it’s events without the user knowing how they work. it | 10:48 | |
should be not a single point of failure, it should scale horizontally and the user shouldn’t be worried about that. | |||
foo222: I’m planing of writing an event processor instead of something that can be used on other people programs as a lib to process events it receives... | 10:50 | ||
foo222: please, let me know if I haven’t understood your question… or if I couldn’t express my self on my answer... | 10:51 | ||
foo222: and other reason is that I don’t want the user to know raku to use that | 10:53 | ||
10:54
vike joined
|
|||
foo222 | SmokeMachine: I believe I understand what you've said. What *I* am saying is that I happen to know of an *existing* product that I believe handles the examples you've provided thus far, with an *existing* simple DSL well suited to the task, that, with a light sprinkling of sugar, wouldn't require a user to know Raku; and I'm dwelling on that | 10:54 | |
product so you might explain how the product *you* envisage is fundamentally better in some ways than that existing product. | |||
SmokeMachine | foo222: now I think I understood you! Sorry! what’s that product you know? | 10:56 | |
foo222 | SmokeMachine: Before I reveal that, would you agree that it would make sense for you to properly consider aspects like its UX, performance, tech stack, community, possibilities for growth, sustainability, etc.? | 10:58 | |
SmokeMachine | sure | 10:59 | |
foo222: ^^ | 11:01 | ||
11:02
sena_kun joined
|
|||
foo222 | SmokeMachine: So, the product I'm suggesting is Rakudo, with a suitable sprinkling of sugar so the user doesn't know that the underlying syntax and mechanism is Raku and Rakudo function binding and object generation. | 11:02 | |
SmokeMachine: And that, given sufficient motivation, it would be easy enough to port it to be a non Raku/Rakudo product. | 11:03 | ||
11:04
wamba left
|
|||
SmokeMachine | foo222: I agree that’s a good idea… but I think the final way the users would use it would be better with a specific DSL for that... | 11:05 | |
foo222: for example, `multi event($ (:type<request>, :params{ :path</login>, :method<GET>, | }, |)) {}` is much worse than `<request path=“/login” method=“GET”>`, imho | 11:09 | ||
11:09
hacktortu left
|
|||
foo222 | SmokeMachine: Sure. But signatures *are* a DSL, and you can add sugar to create a specific DSL atop it if need be. I guess it boils down to both Raku's signature driven multiple dispatch and its grammars being pattern matching + reaction protocols, and considering both of them as plausibly appropriate conceptual models, and their respective | 11:09 | |
*conceptual* strengths and weaknesses for the task at hand. | |||
SmokeMachine | foo222: could you, please, show me an example of how do you think my example should be written? | 11:13 | |
foo222 | SmokeMachine: `multi event($ (:type<request>, :params{ :path</login>, :method<GET>, | }, |)) {}` is *raw Raku*. `<request path=“/login” method=“GET”>` is an as-yet non-existent DSL. There's no reason I yet see why it this new DSL could not map to the former Raku code. There would be no reason for the user of the new DSL to know that but, | 11:15 | |
there again, it *is* worth considering because A) performance, B) *some* users *might* know Raku, and C) spike-to-sustainabilty. | |||
11:17
nt80 left,
xelxebar left
|
|||
foo222 | SmokeMachine: Your example might, perhaps, be written `<request path=“/login” method=“GET”>`. There are all sorts of possibilities. | 11:17 | |
11:18
xelxebar joined
11:23
hacktortu joined
11:24
[Sno] joined,
xelxebar left
11:25
xelxebar joined,
Black_Ribbon left,
El_Che left
|
|||
foo222 | SmokeMachine: And, maybe I'm wrong, but I'm thinking that A], and B] and, especially, C], are important. | 11:28 | |
SmokeMachine | foo222: but I think the biggest problem is that do not match my algorithm… (at least not the one I’m thinking of writing...) | ||
foo222: for example, if I have 1 rule loke this: | 11:29 | ||
foo222 | SmokeMachine: And *that* is why I brought this up *first*, before dwelling on syntax | ||
SmokeMachine: (where *that* is the algo thing you just mentioned) | |||
SmokeMachine | foo222: www.irccloud.com/pastebin/w9xmcLaG/ | 11:30 | |
11:33
nt80 joined
|
|||
SmokeMachine | foo222: Im planning on adding on my storage an key: `type:request method:GET path:/login` and if I find on the stream something like: Event.new: :type<request>, :method<GET>, :path</login>, :request-id<123>` I’ll ask my storage if anything stored there matches that… if it does, so I’ll add on the storage: `type:response request-id:123` | 11:35 | |
foo222: Im planning on adding on my storage an key: `type:request method:GET path:/login` and if I find on the stream something like: `Event.new: :type<request>, :method<GET>, :path</login>, :request-id<123>` I’ll ask my storage if anything stored there matches that… if it does, so I’ll add on the storage: `type:response request-id:123` | |||
foo222 | SmokeMachine: Good. Now we're getting to what matters. :) Have you heard of Linda? | 11:36 | |
en.wikipedia.org/wiki/Linda_(coord..._language) | 11:37 | ||
11:37
kensanata left
|
|||
SmokeMachine | No… what’s Linda (it should be difficult to search… Linda means beautiful in portuguese...) | 11:37 | |
11:37
cpan-raku left
11:38
El_Che joined,
cpan-raku joined,
cpan-raku left,
cpan-raku joined
|
|||
foo222 | SmokeMachine: I added a link to it ^^ | 11:40 | |
SmokeMachine | foo222: yes, reading it… thanks | 11:41 | |
11:42
leont joined
|
|||
foo222 | SmokeMachine: It's more general than event streams, but embodies the principle of matching tuples, removing them from memory if matched, and putting new ones back in; it's well matched to distributed processing; and these two aspects directly map to cro's focus (distributed processing) and tuple matching (sig binding); i see more than a glimmer of | 11:48 | |
scope for cro becoming increasingly linda-ish post its 1.0; and see a hint of possibilities of synergy between what u describe for events and where cro is headed (again, cro is, overall, a distributed systems toolkit -- a natural fit for event streams processing -- not a web framework) | |||
(not *just* a web framework; though clearly an excellent toolkit for that domain too) | 11:50 | ||
jnthn | I'd somewhat expect supply/whenever to be looked to for event processing, because a Supply *is* an event stream. | 11:53 | |
11:55
Doc_Holliwood left
|
|||
SmokeMachine | jnthn: I was planing of each remove stream my service connect to create a supply and I’d get the events by that supply... | 11:58 | |
foo222: are you suggesting to use the tuplespace as my storage? | |||
11:59
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:05
SQuoll joined
12:09
kensanata joined
12:11
xinming_ left
|
|||
foo222 | SmokeMachine: It's first and foremost a general and conceptual point. "event streams" strike me as ultimately being a subset of "distributed processing". And matching (unstructured) streams of (structured) data and inserting new such data as a subset of "Linda-like systems" (en.wikipedia.org/wiki/Linda-like_systems). Conceptually. And, | 12:12 | |
perhaps, for appropriate use cases, technically and perhaps tech-stack wise. | |||
12:13
xinming_ joined
12:20
zakharyas left
12:33
squashable6 left
12:35
squashable6 joined
12:46
aborazmeh left,
sena_kun left
13:01
sena_kun joined
13:29
Doc_Holliwood joined
13:38
telex joined
13:43
foo222 left
13:48
lucasb joined
13:57
wamba joined
14:04
Doc_Holliwood left,
molaf joined
14:09
zakharyas joined
14:46
sena_kun left
|
|||
uzl[m] | .tell lizmat I really liked all the FOSDEM promotional material for both Perl and Raku, especially for the latter one ;-)! Larry's posters and stickers reminded me of this one: comic.browserling.com/95 | 14:50 | |
tellable6 | uzl[m], I'll pass your message to lizmat | ||
14:52
jhill left
|
|||
uzl[m] | I have `module A { sub hi { say "Hi" } }` in a .raku file and I'm trying to invoke `hi`. Quite embarrasing but how do I do it ;-)? | 14:52 | |
jnthn | uzl[m]: You need to declare it `our sub` instead, so it's visible. Then just A::hi(). | 14:53 | |
14:53
jhill joined
|
|||
uzl[m] | jnthn: I always forget about the `our` declarator and never seem to remember that `sub` is short for `my sub`. Thanks! | 14:55 | |
15:00
sena_kun joined
15:10
rypervenche joined
15:12
SmokeMachine joined
15:19
aluaces left
15:37
molaf left
15:45
Doc_Holliwood joined
16:06
abraxxa left
16:07
El_Che left
|
|||
jjatria | Am I fundamentally misunderstanding private attributes here? | 16:14 | |
m: class A { has $!secret is required }; A.new: secret => 42 | 16:15 | ||
evalable6 | (exit code 1) The attribute '$!secret' is required, but you did not provide a value for it. in block <unit> at /tmp/ZTqP_7Bd_Q line 1 |
||
jjatria | If I am, then at least it looks like I'm not the only one: raku.guide/#_encapsulation | 16:17 | |
leont | It appears I can not define an infix ! operator | 16:18 | |
Getting a "Negation metaoperator not followed by valid infix" error when I try | |||
jnthn | jjatria: That code can never succeed | 16:20 | |
jjatria: Private attrs cannot be initialized from the outside; one would need a BUILD/TWEAK submethod to arrange for that | |||
jjatria | So the code in raku.guide is also wrong? | 16:21 | |
jnthn | Where exactly? | 16:22 | |
16:22
El_Che joined
|
|||
sena_kun | `my $john = Human.new(name => 'John', age => 23, sex => 'M', nationality => 'American');`, I think | 16:22 | |
jnthn | But hwere does it use `is required`? | ||
It could be more clear that the constructor arguments are useless, I guess | |||
But it doesn't claim that anything useful happens until they are turned into `$.foo` | 16:23 | ||
jjatria | Hm, I don't think that _trying_ to be an example of useless constructor arguments | ||
Reading that section the implication is that the constructor will set those attributes, even if they don't have accessors | 16:24 | ||
jnthn | Yeah, that could be clarified. Perhaps contact the author. | 16:25 | |
rypervenche | leont: I think something similar to this may be why: perl6advent.wordpress.com/2009/12/...erloading/ | ||
sena_kun | jjatria: you can file an issue at github.com/hankache/rakuguide/issues which will be appreciated! Thanks for noting this. | 16:26 | |
jjatria | đź‘Ť | ||
jnthn | sena_kun++ # knowing where to file it :) | ||
rypervenche | leont: I think it would be better to make something custom, however, so as not to cause issues later on in your code. | 16:28 | |
leont | It's not all that important, just trying to emulate erlang's send operator in my actor library | 16:29 | |
16:30
domidumont left,
domidumont joined
16:31
Guest47772 left
16:43
patrickb joined
16:45
rindolf left
16:47
sena_kun left
16:53
rindolf joined
17:01
sena_kun joined,
cooper left
17:06
aluaces joined
17:07
NODE left,
NODE joined
17:10
kensanata left
17:16
wildtrees joined
|
|||
jjatria | I tried using `BUILD` to set that private attribute, and although it works, I seem to have broken something about the other attributes | 17:20 | |
m: class A { has $!x; has $.a; method BUILD (:$x) { $!x = $x } }; say A.new( x => 42, a => 24 ).a | 17:21 | ||
evalable6 | (Any) | ||
17:22
NODE left
|
|||
uzl[m] | m: class A { has $!x; has $.a; method BUILD (:$x, :$a) { $!x = $x } }; say A.new( x => 42, a => 24 ).a | 17:22 | |
evalable6 | (Any) | ||
uzl[m] | m: class A { has $!x; has $.a; method BUILD (:$x, :$!a) { $!x = $x } }; say A.new( x => 42, a => 24 ).a | ||
evalable6 | 24 | ||
17:22
NODE joined
|
|||
uzl[m] | jjatria: By defining BUILD, you've to take care of the attributes as well. | 17:23 | |
If you only want to set the attributes, you can do right in the BUILD method's signature | 17:24 | ||
m: class A { has $!x; has $.a; method BUILD (:$!x, :$!a) { } }; say A.new( x => 42, a => 24 ).a; | 17:25 | ||
evalable6 | 24 | ||
17:25
NODE left,
NODE joined
|
|||
uzl[m] | *you've to take care of any other attributes you want to be set during object construction, including those with automatically-created accessors. | 17:26 | |
As far as I know, the chain goes like this: constructor (by default, new) -> bless -> BUILD -> TWEAK | 17:27 | ||
jjatria | So that's why when I used TWEAK rather than BUILD I was fine: because the default BUILD was dealing with the other attributes. Makes sense | 17:29 | |
And I guess traits like `is required` get checked after BUILD but before TWEAK? | 17:30 | ||
17:30
dakkar left
|
|||
Doc_Holliwood | jjatria: stackoverflow.com/questions/595680...ng-methods | 17:31 | |
might be helpful | |||
github.com/Raku/problem-solving/issues/145 | |||
17:38
chloekek joined
17:41
nt80 left
17:42
domidumont left,
domidumont joined
17:49
iviv joined
18:03
hungrydonkey left,
ufobat_ left
18:15
skaji_ left
18:16
skaji_ joined
|
|||
patrickb | jmerelo: I have cleaned up the the GSoC loads. If you could have a look that'd be great. | 18:16 | |
tellable6 | patrickb, I'll pass your message to jmerelo | ||
18:18
zakharyas left
18:21
nightfrog joined
18:28
mensvaga left
18:33
Sgeo__ joined
18:36
Sgeo_ left
18:37
Actualeyes left
18:40
[Sno] left
18:46
sena_kun left
18:54
mahmudov joined
|
|||
TreyHarris | I just ran `raku` (no args for the REPL) from a brand-new (well, actually, Jan 29) rakudo build in my home directory. It took a rather long time to start, so I hooked lsof to it, and it appeared to be scanning nearly every file in my home directory. Like, at one point it had /home/trey/src/emacs/etc/refcards open | 19:01 | |
19:01
sena_kun joined
|
|||
TreyHarris | It's not a one-time precomp thing, either, I just tried again | 19:03 | |
I have to cd into an more-empty directory for raku to quickly start | |||
oops, wrong channel, sorry | |||
19:09
Actualeyes joined
19:19
[Sno] joined
19:22
wamba left
19:25
jjatria joined,
jjatria left
19:27
Sauvin left
19:28
CIAvash joined
|
|||
CIAvash | I created a new website for Raku, I want to know if the community is interested. It's created with Hugo, it's multilingual and it has a blog. Here is a demo: raku-demo-temp.ciavash.name/ | 19:28 | |
Other blogs can be created as well, for example a community blog, or maybe even advent and weekly blogs. | |||
19:30
xelxebar left,
xelxebar joined
|
|||
TreyHarris | CIAvash: nice | 19:31 | |
CIAvash: is te Hugo source published somewhere? | 19:32 | ||
rypervenche | I do like Hugo. | ||
tadzik | CIAvash: it looks very nice! The nested scrolling is a bit confusing though | 19:33 | |
TreyHarris | tadzik++ | ||
Geth hasn't sent any commit messages to this channel in a couple days--anyone know why? | 19:34 | ||
CIAvash | TreyHarris: no, but I plan to, I wanted to know if I should put the website somewhere, or the community is interested in having it as the main website!! | ||
19:35
nine left
|
|||
MasterDuke | TreyHarris: tyil runs Geth now | 19:35 | |
TreyHarris | CIAvash: hmm, like a perl6.party replacement? | 19:36 | |
tyil | o/ | ||
19:36
MasterDuke left
|
|||
tyil | geth seems to have reported in #raku-dev within the last two hours, TreyHarris | 19:36 | |
CIAvash | I meant raku.org | ||
TreyHarris | tyil: I know | 19:37 | |
19:37
nine joined
|
|||
CIAvash | But I can just put it anywhere | 19:37 | |
19:37
skaji_ left,
SmokeMachine left
|
|||
TreyHarris | tyil: But it last reported a doc commit on Feb 3 | 19:38 | |
tyil | I'll have to have access to the doc repo to check if the settings are correct and to send a test message to debug anything, I think | 19:39 | |
19:39
camelia joined,
iviv left
19:40
jhill left
|
|||
TreyHarris | tyil: There has been activity on #raku-dev but not on #raku since its last message (¦ doc: review: github.com/Raku/doc/commit/21b3e04eb5), but there's been subsequent `doc` activity that's gone unreported | 19:41 | |
so it does seem to lack access or something | |||
19:42
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
TreyHarris | CIAvash: sorry, didn't realize you were working on a raku.org refresh--is that described in a problem-solving issue? | 19:43 | |
tyil: sorry, dumb q here, but what does the 'o/' emoticon mean? I'm not familiar with it and it isn't googling up | 19:46 | ||
tadzik | it's waving :) o is the head, / is the arm | ||
CIAvash | TreyHarris: no. not your fault. I didn't mention it anywhere. Becasue having it on raku.org was just one option | ||
[Coke] | head with an arm raised, in greeting | ||
guifa | TreyHarris: the o is a head, and the / is an arm | ||
so heeeeeyo | |||
TreyHarris | ah-hah | ||
guifa | (common to respond to o/ with \o ) | 19:47 | |
TreyHarris | or in this case like an "<--" to indicate "that's me" | ||
guifa | (also when you log on it’s like a quick way to check if the bots are saving any messages for you) | 19:48 | |
like…. | |||
.tell guifa2 Can you upload Carp to CPAN already? | |||
tellable6 | guifa, I'll pass your message to guifa | ||
guifa | o/ | ||
19:49
guifa2 joined
|
|||
guifa2 | \o | 19:49 | |
guifa thinks tellable is fubar | 19:50 | ||
.tell tellable6 do as I command you! | |||
tellable6 | guifa, Thanks for the message | ||
TreyHarris | tyil: here's the last day of messages Geth sent to #raku for reference: gist.github.com/treyharris/9972203...24ac7bb21a | 19:51 | |
19:52
domidumont left
19:58
wamba joined
20:00
natrys joined
20:01
stoned75 joined
|
|||
Geth | doc/disambiguate-perl6lib: 0aa3fe09dc | Altai-man++ | 2 files Disambiguate PERL6LIB in search with categories |
20:05 | |
doc/disambiguate-perl6lib: c54f821575 | Altai-man++ | doc/Language/5to6-nutshell.pod6 Remove wrong category |
20:07 | ||
doc: Altai-man++ created pull request #3200: Disambiguate PERL6LIB in search with categories |
|||
20:09
Voldenet left
|
|||
TreyHarris | hope you had a nice nap, Geth :-) | 20:09 | |
"doc/disambiguate-perl6lib" though? that's new | 20:11 | ||
AlexDaniel` | guifa: tellable actually worked correctly in this case | 20:14 | |
guifa: don't overthink it :) | |||
guifa: it knew that you saw the message, so it didn't deliver it | |||
it knows because you were on the channel when the message was sent and you replied within 5 or 10 minutes | |||
20:15
Voldenet joined,
Voldenet left,
Voldenet joined
|
|||
TreyHarris | AlexDaniel`: 5 or 10? is that because you don't remember (from Tellable.p6, `my $heard-timeout = 60 Ă— 10;`) or because there's extra logic in there I didn't notice? | 20:17 | |
AlexDaniel` | TreyHarris: didn't remember and didn't bother to look at the source. It's 10 then :) | 20:18 | |
TreyHarris | cool, just making sure :-) | ||
AlexDaniel` | with 20 bots there's barely anything I remember | ||
they're surprisingly maintainable though | 20:19 | ||
guifa2 | AlexDaniel: guifa2 wasn't on the channel ;-) | ||
AlexDaniel` | guifa2: yeah but guifa was, it knows it's the same person :D | ||
guifa2 | AlexDaniel`: you know, maybe I sometimes just want to tell myself on the other computer as a reminded hahaha | 20:20 | |
reminder* | |||
AlexDaniel` | guifa2: notice how when you did `.tell guifa2` it replied “I'll pass your message to guifa” | ||
guifa2 | Right, that's why I considered it semifubar :-) | ||
But yeah TreyHarris: just do a nice little o/ when you log on next time. Either tellable will tell you something or someone will probbaly wave back ^_^ | 20:21 | ||
AlexDaniel` | tellable is an interesting bot, everyone says that it's weird and potentially broken, yet it never misfired or failed to deliver correctly | ||
you software developers love to poke holes in things :) | |||
guifa2 pokes tellable6 | 20:22 | ||
TreyHarris | AlexDaniel`: I ran one of the first two Eggdrops; everyone complains about every bot "being weird and potentially broken", always :-) | ||
AlexDaniel` | thank you for your work, tellable6 | ||
tellable6 | AlexDaniel`, Anytime! | ||
guifa2 | daw that's cute | 20:23 | |
20:25
Black_Ribbon joined
20:30
rindolf left
20:44
kensanata joined
20:47
sena_kun left
20:53
wamba left
21:01
sena_kun joined
21:06
xinming_ left
21:08
xinming_ joined
21:20
molaf joined
21:27
melezhik left
21:28
aborazmeh left
21:39
melezhik joined
21:43
patrickb left
21:46
Kaeipi joined
21:47
Kaiepi left,
kensanata left,
lucasb left
|
|||
cpan-raku | New module released to CPAN! Sparrowdo (0.1.4) by 03MELEZHIK | 21:49 | |
wildtrees | is most code in raku expressions? or are their statements as well? | 21:51 | |
timotimo | there are statements, but every statement can be used as an expression with the "do" prefix | 21:57 | |
chloekek | p6: say do use NativeCall; | 21:58 | |
camelia | Nil | ||
wildtrees | p6: %h = %( a => 1) ; say %h<a> | 22:01 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '%h' is not declared at <tmp>:1 ------> 3<BOL>7⏏5%h = %( a => 1) ; say %h<a> |
||
wildtrees | p6: my %h = %( a => 1) ; say %h<a> | ||
camelia | 1 | ||
wildtrees | p6: my $h = %( a => 1) ; say $h<a> | ||
camelia | 1 | ||
wildtrees | how are both of those working? | ||
22:03
Sgeo_ joined
|
|||
timotimo | the postfix:«< >» thing behaves very much like a method call here | 22:05 | |
so it just goes through the scalar container | |||
guifa2 | In both cases you've assigned a hash to the variable, and <> is compiled (more or less) to $h.AT-KEY("a") or %h.AT-KEY("a") | ||
22:06
Sgeo__ left
|
|||
TreyHarris | using the $ sigil vs. the @ sigil for a list makes a bigger difference in more places than $ vs. %--for $hashes vs. %hashes, i think in practice the difference comes up primarily in passing the hash as a parameter, and even then not that often since there are coercions and multis for most associative operations | 22:11 | |
leont | I'm looking for ideas for a good interface for my actor module, in particular the receiving end. | 22:14 | |
In my similar p5 module I'm using «when» for this, but it seems I can't create my own given-like construct in raku | 22:15 | ||
Currently I offer a receive function that will receive without filtering, but that feels suboptimal as well | |||
I'm considering making it a Supply, but I suspect that won't DWIM in a lot of cases | 22:16 | ||
Matching against pointy blocks might work though… | 22:17 | ||
22:21
natrys left
|
|||
timotimo | leont:have you checked out jnthn's actors model yet? | 22:25 | |
leont | OO::Actors? Yes. Completely different from mine | 22:26 | |
timotimo | OK | 22:27 | |
just thought there might be some inspiration in there | |||
jnthn | supply blocks pretty much already are actors | 22:28 | |
I think `when` will be happy being in any block that binds $_ | 22:29 | ||
m: sub receive(&block) { block(42); block(4.2) }; receive { when Int { say 1 }; when Rat { say 2 } } | 22:30 | ||
camelia | 1 2 |
||
22:34
natrys joined,
natrys left
|
|||
leont | But can receive know if any of the when's was successful? | 22:37 | |
wildtrees | couldn't you set something in each receive, say increment a counter or something and check for it at the end? | 22:41 | |
er in each when I meant | 22:42 | ||
leont | That sort of manual work is exactly what I'm trying to prevent | 22:46 | |
22:46
sena_kun left
|
|||
k-man | i'm a novice at raku. and I'm just trying out a few exercises on exercism. the first few i had to make a function return something for the tests to work. this current one requires a method to return something. i'm not sure what I'm supposed to do here. ix.io/2aRH | 22:49 | |
wildtrees | k-man, what's the test want from the method? | 22:52 | |
22:58
SmokeMachine joined,
jhill joined
|
|||
[Coke] goes to find the tests, but exercism requires you install a command line client first. | 22:59 | ||
23:00
iviv joined,
skaji_ joined
|
|||
[Coke] | (a binary, even) | 23:01 | |
23:01
sena_kun joined
|
|||
leont | I think I found an interface that I actually like, even if the previous one was a bit faster | 23:01 | |
23:01
chloekek left
|
|||
leont | paste? | 23:01 | |
[Coke] | k-man: if you can provide the test, we can help. the problem you posted doesn't really ask a question. | 23:02 | |
TreyHarris | [Coke]: worse than that, the last time I tried, you can't download a test suite until you've completed the prereq exercises, so having the binary wouldn't be sufficient unless you want to spend the time finishing all the prior exercises | 23:11 | |
23:12
melezhik left
|
|||
leont | An example script (based on chameneos-redux from the debian language shootout) is paste.scsys.co.uk/587789 | 23:22 | |
23:22
NODE left
23:24
Benett left
|
|||
k-man | thanks wildtrees and [Coke], test suite: ix.io/2aRN | 23:24 | |
yes it's a bit annoying how you can't easily share an exercise from exercism | 23:25 | ||
maybe there is an alternative to exercism for practicing raku? | 23:26 | ||
this is the exercise anyway: ix.io/2aRO | |||
23:31
Benett joined,
pecastro left
|
|||
[Coke] wonders who the three mentors that signed on for raku are. | 23:32 | ||
for the first several, looks like your "hey" method should return different strings based on input. | 23:34 | ||
[Coke] would try the first "expected" output, see if you pass one more test. | 23:35 | ||
k-man | [Coke]: does that mean something like.... return "some string"; ? | ||
[Coke] | you can either explicitly return out, or have the last line be a literal value that will get returned. | ||
k-man: aye | |||
k-man | [Coke]: ok, thanks. I'll give that ago | ||
23:36
Benett left,
Benett joined
23:41
NODE joined
23:44
NODE left
23:45
NODE joined
|
|||
TreyHarris | The only prompt given is the test suite? That's bizarre--it's like if you were given a test suite telling you that if you pass [1, 2, 3, 4] you'll get (13.463535756926344 14.548758829210907 2.2579201289578754 -12.108839924926851) back. It's an exercise in pattern recognition, not coding | 23:49 | |
k-man | TreyHarris: they do give you a word description. see ix.io/2aRO | 23:50 | |
TreyHarris | Oh, I missed that. oops, your question would have made a lot more sense if I saw that :-) | 23:51 | |
k-man | TreyHarris: no worries | 23:52 |