🦋 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:05
pecastro left
00:10
rbtca left,
rbtca joined
00:14
poohman joined
00:16
leont left
00:29
poohmaan joined
00:33
poohman left
00:44
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:48
tejr left
00:49
poohmaan left,
rbtca left,
tejr joined
00:53
oddp left
00:54
Altai-man_ joined
00:56
sena_kun left
01:00
rbt joined
01:03
finanalyst left
01:05
vike1 left
01:12
vike1 joined
01:21
poohmaan joined
01:27
molaf left
01:31
stoned75 left
01:33
stoned75 joined
01:39
molaf joined
01:47
zacts joined
01:52
justsomeguy joined
01:55
poohmaan left
02:04
zacts left
02:06
Cabanossi left
02:15
justsomeguy left
02:18
Cabanossi joined
02:30
poohmaan joined
02:55
sena_kun joined
02:56
Altai-man_ left
03:01
softmoth joined
03:16
zacts joined
03:27
Cabanossi left
03:38
Cabanossi joined
04:17
pilne left
04:18
pilne joined
|
|||
CIAvash | softmoth: wow! 3 weeks seems like a lot | 04:22 | |
softmoth | Yeah. Request was on April 12 (www.nntp.perl.org/group/perl.modul...0999.html) and acceptance on May 3 (www.nntp.perl.org/group/perl.modul...071.html). But I didn't carp (or croak), maybe you'll have better luck! | 04:33 | |
04:36
rindolf joined
04:54
Altai-man_ joined
04:55
poohmaan left
04:57
sena_kun left
05:06
cpan-raku left
05:08
cpan-raku joined,
cpan-raku left,
cpan-raku joined
05:23
poohmaan joined
05:24
xinming_ left,
xinming_ joined
05:26
perigrin left
05:28
perigrin joined
05:45
wamba joined
|
|||
poohmaan | hello all | 06:20 | |
06:20
poohmaan left,
poohmaan joined
|
|||
poohmaan | hello all | 06:21 | |
Will flat not work on a Seq of Seqs? | |||
gfldex | raku: my \s = Seq(<a b c>, <d e f>); dd s.flat | 06:24 | |
evalable6 | ("a", "b", "c", "d", "e", "f").Seq | ||
gfldex | poohmaan: looks like it | ||
06:25
aborazmeh left
|
|||
poohmaan | then Im still making a mistake with containers and itemisation | 06:25 | |
my example did not for arrays as well | 06:26 | ||
m: my @a =[1,2,3,[4,5]]; say @a.flat; | |||
camelia | (1 2 3 [4 5]) | ||
poohmaan | gfldex - can you please tell me how that is normally flattened | 06:27 | |
m: my @a =[1,2,3,[4,5]]; say @a.flat.raku; | 06:28 | ||
camelia | (1, 2, 3, $[4, 5]).Seq | ||
gfldex | I normaly don't flatten such structures. I either slip stuff when Positionals are created or I use deepmap to maintain the structure. | ||
poohmaan | I think I saw an example in the docu for this | ||
m: my @a =[1,2,3,[4,5]]; say @a.deepmap(*+1); | 06:29 | ||
camelia | [2 3 4 [5 6]] | ||
poohmaan | I have to flatten it to use unique on it | 06:30 | |
gfldex | raku: say (gather [[1,2,3,4],[[4,5,6],6,7]].deepmap(*.take)).unique | 06:35 | |
evalable6 | (1 2 3 4 5 6 7) | ||
gfldex | poohmaan: ^^^ | ||
poohmaan | thanks | 06:37 | |
06:39
wamba left
06:42
_dev_zero left
|
|||
gfldex | raku: my %seen; [[1,2,3,4],[[4,5,6],6,7]].deepmap({%seen{$_} = True}); say %seen.keys | 06:43 | |
evalable6 | (3 5 7 1 6 4 2) | ||
gfldex | poohmaan: for large lists of Str where order doesnt matter this might be better | 06:44 | |
06:46
_dev_zero joined
|
|||
moon-child | how do I make a slang? Is mouq.github.io/slangs.html up-to-date? | 06:53 | |
06:55
sena_kun joined
06:56
Altai-man_ left
07:01
soursBot joined
07:03
MilkmanDan left
07:04
softmoth left
|
|||
elcaro | moon-child: slangs are a little hairy to get your head around if you're not familiar with how the language is implemented | 07:07 | |
my recommendation would be look at modules under the 'Slang::' namespace and try to modify it | 07:08 | ||
I have a couple of gists... the first on just adds 'fn' and 'var' as aliases for 'sub' and 'my' | |||
gist.github.com/0racle/f4b0370a41d...95ce16019d | |||
The second is not mine, but take from Damian Conway's blog about adding an 'else' statement to a for block | 07:09 | ||
the `else` is entered only if the `for` block doesn't get entered | |||
gist.github.com/0racle/a9c80c5006a...e7e9eb4bf5 | |||
I've also used simple slangs like the first one to allow different suffixes on variables and identifiers | 07:11 | ||
moon-child | ok | ||
elcaro | Like PRIME, ie. `my $x = 1; my $x′ = 2` | ||
moon-child | what about something like github.com/tony-o/perl6-slang-sql that adds a new slang instead of extending MAIN? (Is that one still current? It's a few years old) | ||
elcaro | I'm not an expert. I have used Slang::SQL and it worked ok, so whatever he's doing seems to still work. | 07:13 | |
07:23
soursBot left
07:30
soursBot joined
|
|||
gfldex | lolibloggedalittle: gfldex.wordpress.com/2020/06/14/sw...xceptions/ | 07:53 | |
07:53
squashable6 left
07:56
squashable6 joined
08:14
kensanata joined
08:15
MilkmanDan joined
08:33
xinming_ left
08:36
rbt left,
rbt joined
08:38
xinming_ joined
08:41
TeamBlast left
08:42
sivoais left,
TeamBlast joined
08:44
sivoais joined
08:46
pecastro joined
08:54
Altai-man_ joined
08:57
sena_kun left
08:58
zacts left
08:59
zacts joined
09:11
leont joined
09:13
lichtkind_ joined
09:16
lichtkind left,
m_athias left
09:23
oddp joined
09:25
soursBot left
09:29
poohmaan left
09:34
Sgeo left
09:41
soursBot joined,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
09:54
m_athias joined
10:05
TeamBlast left,
TeamBlast joined
10:06
sivoais left,
sivoais joined
10:14
wamba joined
10:15
Black_Ribbon left
10:18
chloekek joined
10:19
nige joined
|
|||
nige | hi | 10:19 | |
I'm working on a proposal for Perl + Raku marketing and wanted to explore how something could be done in Raku ... anyone around? | 10:20 | ||
oddp | Just shoot, someone is going to answer sooner or later. | 10:26 | |
Damn, got bitten by this again, wondering why my rules wouldn't match: `G.parse(slurp "input.txt", actions => A)` | |||
Noob me has to ask, is there a way to force a warning? | |||
ShimmerFairy | I'm guessing the "actions => A" is getting eaten up by the un-paren'd slurp call. | 10:28 | |
oddp | Yeah. | 10:29 | |
nige | the marketing proposal is for attracting new (and old) Perl and Raku programmers | 10:30 | |
the plan takes inspiration from stackoverflow | 10:31 | ||
Altai-man_ | With case of warning, you don't want false positives, and as machine can't know what do you want exacty... | ||
10:31
aborazmeh left
|
|||
nige | it will be a place where people can request code for their coding problems (e.g., I need some code to parse text from HTML) | 10:32 | |
the main emphasis is solving specific coding problems - people might have | |||
so not really a Q +A site ... and more of a Q + Coding Solution site | 10:33 | ||
code can be in Perl + Raku (and other languages) | 10:34 | ||
Altai-man_ | nige, I have a similar thing on mind, but with a plot twist. Can you elaborate on what resources do you have? | ||
Maybe we can cooperate. | |||
nige | so a bit like Rosetta meets StackOverflow | ||
yes - defn up for cooperating | |||
this proposal is for a TPF sponsored site - so they have some resource to offer (altho limited) | 10:35 | ||
so it would be a community effort - and any advertising revenue can go to the TPF for grants and further development | 10:36 | ||
Altai-man_ | nige, I plan to write up a proposal after $dayjob today. It will require people willing to write content more than anything else, though. | ||
nige | OK - cool - I think some coding solutions will need some explanation too | 10:37 | |
oddp | Altai-man_: well, take the slurp method signature here: `multi method slurp(IO::Path:D: :$bin, :$enc)`. I would expect to see a warning if I pass in .slurp(foo => "baz). | ||
nige | so the crucial bit - as far as playing the google loop goes - is to make sure the user's search need is satisfied | 10:38 | |
oddp | At least coming from other langs with named keyword args. | ||
nige | so the search trails are successful from Google's perspective | ||
Altai-man_ | m: slurp 'foo', :r; | 10:39 | |
camelia | Unexpected named argument 'r' passed in block <unit> at <tmp> line 1 |
||
Altai-man_ | m: slurp 'foo', :foo; | ||
camelia | Unexpected named argument 'foo' passed in block <unit> at <tmp> line 1 |
||
Altai-man_ | oddp, I think this particular (for "slurp") case was changed on master. | ||
So once 2020.06 is shipped, you can consider it done. :) | |||
nige | importantly the site needs to satisfy the users search query - ideally in one go | 10:40 | |
oddp | Oh, okay, interesting. Thanks! | ||
nige | so If I'm looking for 'code to parse a CSV file' - ideally I can use the code by cutting-and-pasting or with a special 'use' statement | 10:41 | |
which brings me to why I'm here ... | |||
the META6.JSON file - provides lots of metadata etc (dependencies, versions etc, licence) | 10:42 | ||
it would be cool is the 'use' statement - could source directly from the coding solutions provided on the site | 10:43 | ||
use 'answer' 123; | |||
and the code could be integrated at compile time into the program | 10:44 | ||
123 - could also be a hashcode for the META6.json file | 10:45 | ||
would be interested to hear feedback on this? do you think it could work? | 10:47 | ||
Altai-man_ | This calls for so many security problems and implications. Even more, it makes software not installable when there is no net available (which is not that uncommon as we can think). | 10:49 | |
10:55
sena_kun joined
10:57
Altai-man_ left,
zacts left
|
|||
nige | yes - in the GoLang world - they often use "go get somecode/somewhere.go" | 10:57 | |
10:58
zacts joined
|
|||
nige | the hashing the meta6.json file will help with the ensuring the integrity of the downloaded thing | 10:58 | |
of course if they just found the answer then their internet connection is live | |||
so it's a balancing act - but would like to tip it towards convenience (for the sake of the Google loop and our users) | 11:00 | ||
11:03
aborazmeh joined,
aborazmeh left,
aborazmeh joined
11:04
kensanata left
|
|||
nige | nine, would be interested to hear your thoughts on how to - use remote 'somecode.site/with -reassuring/hashcode/jyhery78' - and how this could work with pre-compilation etc? | 11:20 | |
11:24
chloekek left
|
|||
Geth | whateverable/master: 4 commits pushed by (Aleks-Daniel Jakimenko-Aleksejev)++ | 11:28 | |
whateverable: c5667c0af0 | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable/Bits.pm6 Use gather again in limited-join (oops) I tried to refactor it in 17ec364078322 but half way through realized that it's not going to make it better. Still, I somehow committed the half-refactored version. It should be back to normal now. |
11:35 | ||
11:56
poohmaan joined,
Manifest0 left
12:10
soursBot left
12:11
poohmaan left
12:17
Manifest0 joined
12:38
Manifest0 left
|
|||
Geth | ake: 720c250c2a | (Aleks-Daniel Jakimenko-Aleksejev)++ | META6.json Fix source-url It's just `ake` now. |
12:47 | |
ecosystem: 1fb91a1c10 | (Aleks-Daniel Jakimenko-Aleksejev)++ | META.list Update ake url |
|||
12:54
Altai-man_ joined
12:56
sena_kun left
13:01
finanalyst joined
13:04
soursBot joined
13:07
woolfy joined
|
|||
woolfy | Hi tadzik, thank you for your thoughtful blog! <3 | 13:07 | |
I hope you don't mind, I posted it on my Facebook: www.facebook.com/wgavdijk/posts/32...1288644699 | |||
Hugz, Wendy | 13:08 | ||
lizmat | oops, mischan :-) | ||
woolfy | Oh sorry, I thought I pm-ed tadzik... sorry... | ||
(blush) | |||
lizmat | nonetheless, tadzik++ blog.tadzik.net/first-they-came-fo...-gays.html | 13:09 | |
tadzik | woolfy: no, I don't mind :) | 13:16 | |
woolfy | tadzik : thank you, and good luck on your actions! | 13:17 | |
nine | nige: in my experience it's better to advertise where your target audience is. Creating a new place where you need to pull people to, so you can sell them your product is a hard detour. | 13:18 | |
nige: Frankly, I'm not fond of golang's approach to modules, at all. It creates a dependency on that code site (i.e. Github) and if they disappear or just change their URI layout all your software will be broken. | 13:19 | ||
nige: the simplicity also comes at a cost: you either depend on unstable, unversioned code when you point at a repo or on an outdated version with possible security or stability issues when you depend on a commit. | 13:20 | ||
It's all fun and game when you just want to create a mass of code but it will become a mess in the much longer period where it's about maintenance. E.g. yes, there's gigatons of Javascript code out there but I wouldn't bet the company on any of it. | 13:22 | ||
Precicely stated dependencies enabled by git's distributed nature are a perfect excuse to ignore backwards compatibility and break things. This certainly helps with creating and evolving fast but what if the maintainer is no longer able to keep up? | 13:24 | ||
Our software at work depends on countless Perl modules. Some of them haven't seen a maintainer in a decade, but they still work and do their job. | 13:25 | ||
The technical side is completely different. It should be rather simple to implement code loading from web resources including precompilation and everything. In fact I could think of a couple of different approaches. | 13:26 | ||
13:28
soursBot left
|
|||
ShimmerFairy | Just look at how C++ libraries have on average given up on thinking about ABI compatibility and how annoying the fallout from that is. | 13:30 | |
nige | hi nine | 13:41 | |
all good points -^ | 13:42 | ||
and yes - I realise Go URL dependencies come with downsides | |||
I suppose the ultimate product I'm trying to sell here is Raku - and going to where the market is means getting into the google loop as people look to solve their coding problems | 13:43 | ||
so that google can discover the association between: coding problem -> solution | 13:44 | ||
where solution = raku/perl code | 13:45 | ||
Altai-man_ thinks creating a really nice cookbook out of old examples repo (up to 11) will serve the same purpose without all the code by url loading tricks | |||
nige | yes - that's a good point too -^ | ||
I was planning to seed the initial site with example from the PLEAC website | 13:46 | ||
pleac.sourceforge.net/ | |||
Altai-man_ | nine, can you wait a day for the proposal I mentioned? | ||
13:47
aborazmeh left
|
|||
nige | nine - on the loading dependency problems you mention - at least Raku provides the ability to pin modules by author and version | 13:49 | |
just focussing on the technical side ... how could you load a remote module at compile time ...and have it play nicely with pre-compilation etc? | 13:51 | ||
13:52
MilkmanDan left
|
|||
nige | it would be nice to have some hash coding - to provide some trust etc .. | 13:53 | |
13:54
MilkmanDan joined
13:55
molaf left
|
|||
nige | the code could be copied to a local repo - so that helps with the dependency on a third party site / author etc - for code maintenance | 13:55 | |
13:59
soursBot joined
|
|||
nine | Altai-man_: sure. I forgot to write down an important thought I had: the only thing worse than inefficient advertising (which I warned about) is no advertising. So please don't let me keep you from trying things! | 14:00 | |
nige: you could write a module that does everything in an EXPORT sub. Or you could go one step further and write a CompUnit::Repository implementation. I'd go for the latter as it gives you more control and will make adding precompilation easier. | 14:02 | ||
nige: there are several specialized CompUnit::Repository implementations in rakudo. They should give you some ideas. | 14:03 | ||
14:03
MilkmanDan left
14:04
woolfy left
|
|||
nige | ok cool - thanks | 14:04 | |
and for the user side of the code - where they want to 'import/use' the solution they found on the website | 14:05 | ||
14:06
Xliff joined
|
|||
Xliff | \o | 14:06 | |
tellable6 | 2020-06-14T10:35:02Z #raku-dev <AlexDaniel> Xliff: I have to admit you were right, the commit SHAs need to be links, otherwise blin output pasted as a gist kinda sucks | ||
Xliff | AlexDaniel: Hehehehe | ||
14:06
MilkmanDan joined
|
|||
Xliff | AlexDaniel: Do you need another PR? | 14:07 | |
nige | hmm - it's tricky - ideally I'd like the user to include the solution with a one-liner | 14:08 | |
moritz fights a two-front war with cro and docker | 14:10 | ||
14:10
rbt left
14:11
rbt joined
|
|||
Altai-man_ | Xliff, commit links were addressed by mighty AlexDaniel++ already, I think. | 14:12 | |
nige | use remote-code 'codesolvr.com/dfjgwx'; # inside module comes with complications | 14:13 | |
maybe it's better to bootstrap the solution in the users environment with a loading script | 14:14 | ||
shell> codesolvr get dfjgwx | |||
this way it can be more polyglot when it comes to install etc | 14:15 | ||
14:15
MilkmanDan left
|
|||
El_Che | nige: 12:43 < nige> use 'answer' 123 <== that sounds extremely dangerous and not even because of evil intent | 14:19 | |
nige: go get intalls released libraries and modules, not ad hoc part of a solution | 14:20 | ||
nige | yeah - was just a quick example - use 'answer' 123 | ||
El_Che | nine: go fixed the problem you metioned by adding a write-once proxy. Hosted at google it isn't supposed to go down. And company project "vendor"the dependencies, meaning the code for the dependencies is in the same repo as you app so you can always build | 14:22 | |
nige | OK - I prefer the second approach - where the site comes with an optional installer script to install the code locally and get the solution in place | ||
14:22
aindilis` joined
|
|||
nige | interesting -^ | 14:23 | |
14:23
aindilis left
|
|||
El_Che | a code generator | 14:24 | |
that could work | 14:27 | ||
ShimmerFairy | .oO(There aren't many websites that can rely on not intending to be down) |
||
El_Che | google has a great record | 14:28 | |
(and the resources for that) | |||
nine | And a great record of ending services for users when they were no longer interested in them anymore | ||
El_Che | nine: oh yes, been bitten many times by that :) | 14:29 | |
"vendoring" the solutions in the application repo would solve the runtime problem though | 14:30 | ||
nige | by that I take it you mean - the solution user gets their own local copy which they maintain etc | 14:32 | |
14:33
chloekek joined
|
|||
El_Che | yes, they integrate it making sure it's safe and complete | 14:33 | |
14:33
zacts left
|
|||
El_Che | maybe the same tool could allow to upload revised solutions | 14:33 | |
that can be upvoted | |||
nige | yes - the tool itself could help with the upvoting stats (subject to voting limits) | 14:34 | |
14:34
zacts joined
|
|||
nige | and going the other way the tool could help with submissions | 14:36 | |
El_Che | yes, that what I mean | ||
you dowloand the solution, make it better, upload the proposal | 14:37 | ||
extra points for good comments | |||
nige | nice - I like that haha | ||
karma++ for your comments | |||
El_Che | often solutions are meant to explain stuff or offer a quick and dirty solution | 14:38 | |
e.g. for go code, error checking is omitted (a no-no) | |||
nige | shell> codesolver push dfjgwx friendly-solution.raku | ||
El_Che | the Stackoverflow format emcourages that, so you can qucikly skim the solution | ||
Xliff | m: use NativeCall; my $g-param-spec-types; $c-param-spec-types := cglobal('gobject-2.0', 'g_param_spec_types', CArray[GType]) | 14:39 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$c-param-spec-types' is not declared. Did you mean '$g-param-spec-types'? at <tmp>:1 ------> 3use NativeCall; my $g-param-spec-types; 7⏏5$c-param-spec-types := cglobal('gobject- |
||
El_Che | here the better solution would be production ready, wit good comments and ideally with a leading comment that explains the solution on a higher level | ||
Xliff | m: use NativeCall; my $g-param-spec-types; $\g-param-spec-types := cglobal('gobject-2.0', 'g_param_spec_types', CArray[GType]) | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3e NativeCall; my $g-param-spec-types; $\7⏏5g-param-spec-types := cglobal('gobject-2 |
||
Xliff | m: use NativeCall; my $g-param-spec-types; $g-param-spec-types := cglobal('gobject-2.0', 'g_param_spec_types', CArray[GType]) | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared name: GType used at line 1 |
14:40 | |
nige | yes - that's a good point - reading Go code can get a bit depressing the happy path is sometimes buried in code like my dad wants me to code | ||
Xliff | m: use NativeCall; my $g-param-spec-types; $g-param-spec-types := cglobal('gobject-2.0', 'g_param_spec_types', CArray[uint64]) | ||
camelia | ( no output ) | ||
Xliff | m: use NativeCall; our $g-param-spec-types; $g-param-spec-types := cglobal('gobject-2.0', 'g_param_spec_types', CArray[uint64]) | 14:41 | |
camelia | ( no output ) | ||
Xliff | m: use NativeCall; our $g-param-spec-types is export; $g-param-spec-types := cglobal('gobject-2.0', 'g_param_spec_types', CArray[uint64]) | ||
camelia | ( no output ) | ||
Xliff | m: use NativeCall; our $g-param-spec-types is export; $g-param-spec-types := cglobal('gobject-2.0', 'g_param_spec_types', CArray[uint64]); say $g-param-spec-types[$_] for ^23; | ||
camelia | Cannot locate native library 'libgobject-2.0.so': libgobject-2.0.so: cannot open shared object file: No such file or directory in block at /home/camelia/rakudo-m-inst-2/share/perl6/core/sources/947BDAB9F96E0E5FCCB383124F923A6BF6F8D76B (NativeCall… |
||
nige | fortunately raku code is liberated from the error handling style of Go - and the happy path is clearer | ||
more O(fun) just there | 14:42 | ||
El_Che | I am not sure. I am not that fond of exceptions | ||
good that you can choose in Raku | |||
nige | yes - and exceptions can be handled out of band with CATCH phaser | 14:43 | |
El_Che | the point of that handling errors right away make it easier to think about them | ||
not like in java when you get exceptions fron 10 levels down | 14:44 | ||
14:44
soursBot_ joined,
soursBot left
14:45
stoned75 left
|
|||
nige | yes - not an easy one - there are tradeoffs - depends on the code etc - at least Raku let's you flexibly handle it | 14:45 | |
code for the SpaceX airlock will look different to slurping a README.txt ;-) | 14:47 | ||
14:47
stoned75 joined
|
|||
El_Che | the SpaceXI code will be full of files wit ah "#genrated by rakusolves.org" comments :) | 14:48 | |
nige | :) | ||
14:52
zacts left
|
|||
ShimmerFairy | Systems without exceptions make "ignore it, it's fine" the default action, and I personally think that's a really lousy approach to error conditions. | 14:52 | |
14:53
zacts joined
|
|||
El_Che | ShimmerFairy: thatś not the mindset in go, rather the contrary | 14:53 | |
moritz | well, there are other options too, like erlang/OTPs processes and process supervisors | ||
El_Che | handle just after the error, verbosely :) | ||
foo, err := doSomething() | 14:54 | ||
ShimmerFairy | yeah, and it's a big part of why Go is pretty much the only language I legitimately, seriously despise. (As opposed to just making jokes about a language.) | ||
El_Che | if err != nil { ... } | ||
14:55
sena_kun joined
|
|||
ShimmerFairy | moritz: Yeah, I'm not saying exceptions are the only/best solution, just that error codes are the worst :) | 14:55 | |
El_Che | it's a design decision and like nige commented, there are up and downsides | ||
moritz: that sounds interesting | |||
14:56
Altai-man_ left
|
|||
moritz | El_Che: it does. I'm not too familiar with it, always wanted to learn a bit more about it, but found the Erlang syntax strangely off-putting | 14:57 | |
might try again with Elixir as the language | |||
El_Che | the ruby-flavour version :) | 14:58 | |
Xliff | Hmmm.... | 15:03 | |
Getting some weird results with NativeCall and cglobal usage. | |||
May have to bug that, later. It makes no sense. | |||
15:04
chloekek left
15:06
chloekek joined
15:07
zacts left,
rypervenche left
15:10
rindolf left
15:12
softmoth joined
15:13
rypervenche joined
15:16
chloekek left,
chloekek joined
15:21
zacts joined
15:26
chloekek left
15:30
softmoth_ joined
15:31
softmoth left
15:33
zacts left
15:34
zacts joined,
gfldex left,
gfldex joined
|
|||
raku-bridge | <Rustem B.> how can i easily generate template module? | 15:36 | |
<Rustem B.> (also hello) | |||
15:52
epony left
15:53
thowe joined
15:55
zacts left
|
|||
sena_kun | Hi. You can use e.g. App::Mi6 module to help with authoring. There is also e.g. github.com/JJ/raku-dist-template <- this nice template if you don't want tools. | 15:57 | |
15:57
zacts joined
16:06
kensanata joined
|
|||
raku-bridge | <Rustem B.> oh, thx | 16:10 | |
16:12
MilkmanDan joined
16:15
rindolf joined
|
|||
nine | El_Che: just because exceptions make it possible to handle them further up the callstack doesn't mean that they mandate doing so. You can handle exceptions right where they occur just fine. | 16:16 | |
Go makes handling errors tedious and relies entirely on tools telling people to behave. I've no idea how they thought this was good design. | 16:18 | ||
moritz | it's the mindset of old C programmers | ||
"people forget handling errors? We'll tell them through the compiler when they forget!" | |||
nine | I'd guess they just avoided dealing with the hard problems of implementing exceptions in threaded programs that way. | 16:20 | |
16:22
epony joined
16:30
suman joined
|
|||
suman | Is there a command to create a file in raku? | 16:31 | |
just like mkdir to create a directory | |||
timotimo | just open and close it, if there is no "touch" method | ||
ShimmerFairy | nine: I have a feeling it's because companies like Google disallow exceptions in C++, so when you're asked to make a language, you go "exceptions are icky and we do just fine without them!" | 16:34 | |
(and Go does have a very basic kind of exception handling nowadays, because turns out it really is a nice thing to have) | |||
moritz | orly? who wudda thought | 16:35 | |
timotimo | is that about defer/rescue? | ||
ShimmerFairy | I forget what it was called, lemme see if I can find out quickly. | 16:36 | |
tadzik | they had panic/recover I think? | ||
El_Che | %w? wrapping? | ||
ShimmerFairy | yeah, I think it's panic/recover | 16:37 | |
El_Che | nine: of course you can use try-catch, but that's even more verbose than the "if err != nil" thing | ||
16:37
suman left
|
|||
timotimo | OK not sure where i got rescue from, but defer is in go | 16:38 | |
tadzik | Rust makes it quite nice with its ? suffix | ||
ShimmerFairy | The beauty of try/catch is that you can wrap an entire block of code in one exception handler. If five calls in a function can throw a "BadFileSystem" error, it's nice that you only have to write the check once. | 16:39 | |
timotimo | quick question, do we do anything with "buildid" in our CI infrastructure and/or packaging? | ||
raku-bridge | <Vendethiel> Ruby is clearly superior, with throw/catch AND raise/rescue! :-P | 16:48 | |
timotimo | panic / soothe | ||
meltdown / jettison | 16:49 | ||
16:51
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
suman joined
|
|||
ShimmerFairy | crash / burn (wait) | 16:51 | |
suman | This is example C code | 16:52 | |
#include <math.h> | |||
timotimo | please don't paste it into irc | ||
use a pasting service like gist or nopaste or 0bin or whatever you prefer | 16:53 | ||
16:54
Altai-man_ joined
|
|||
timotimo | stackoverflow.com/questions/417432...compute-it - interesting, looks like i had no clue what a buildid is actually meant to be | 16:54 | |
suman | pastebin.com/yVZVBYLd | 16:56 | |
16:56
sena_kun left
|
|||
suman | Please have a look here | 16:56 | |
How to stop (Mu) from appearing in void function? | 16:57 | ||
timotimo | suman: you are printing the return value of your custom() call, it's a void function so it returns nothing, which in raku's NativeCall is represented as the Mu type object | ||
so just throw out the "say" | |||
16:57
zacts left
|
|||
suman | timotimo Oh I see | 17:00 | |
17:22
wamba left
17:25
Manifest0 joined,
suman left
17:32
wamba joined
17:39
finanalyst left,
zacts joined
17:48
kensanata left
17:50
zacts left
17:53
telex left
17:56
telex joined
17:57
aindilis` left,
aindilis joined
17:58
lichtkind_ left
18:03
soursBot_ left
18:06
aborazmeh left
18:18
finsternis left
18:19
finsternis joined
18:20
nige left
18:23
molaf joined
18:52
kensanata joined
18:55
sena_kun joined,
Sgeo joined
18:56
Altai-man_ left
|
|||
cpan-raku | New module released to CPAN! WebService::TMDB (0.1.0) by 03CIAVASH | 19:04 | |
19:17
xinming_ left,
xinming_ joined
|
|||
nine | timotimo: oh, so buildid is the same as our $*PERL.compiler.id | 19:59 | |
timotimo | maybe, though we probably also want to include moarvm's "identity" in it | 20:04 | |
if the idea is "grab the buildid and you can get to the exact source used to make this binary" | |||
20:17
evalable6 left,
linkable6 left
20:18
linkable6 joined,
evalable6 joined
20:40
devmikey joined
20:45
rbt left
20:46
rbt joined
20:47
rindolf left
20:54
Altai-man_ joined
20:56
sena_kun left
20:57
softmoth__ joined
20:59
softmoth_ left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
21:10
kensanata left
21:20
finanalyst joined,
finanalyst left
21:28
Xliff left
21:33
wamba left
22:00
aborazmeh left
22:22
devmikey left
22:27
Cabanossi left
22:39
Cabanossi joined
22:49
Sgeo_ joined
22:52
Sgeo left
22:54
sena_kun joined
22:57
Altai-man_ left
23:30
pecastro left
23:31
softmoth__ left,
softmoth__ joined
23:48
oddp left
23:53
oddp joined
|