🦋 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
john_parr_ joined,
john_parr_ left
00:08
seanrobert left
|
|||
AlexDaniel` | `@$¢XR**@$¢` heh | 00:13 | |
00:29
seanrobert joined,
mowcat left
00:31
e left
00:47
seanrobert left,
john_parr joined
00:52
sena_kun joined
00:53
john_parr is now known as st_elmo,
Altai-man left
01:08
edk_ joined
01:22
AlexDani` joined
01:24
AlexDaniel left
01:30
xelxebar left,
xelxebar joined
|
|||
rypervenche | What would the Raku equivalent of the Python 「"in" in ["in", "out"]」 be? | 01:34 | |
01:45
molaf left
01:57
molaf joined
|
|||
rypervenche | Oh... | 02:15 | |
Ⓜ say "in" (elem) ("in", "out"); | |||
m: say "in" (elem) ("in", "out"); | 02:16 | ||
camelia | True | ||
02:40
MilkmanDan left
03:21
seanrobert joined
03:30
AlexDani` left,
AlexDani` joined
03:31
st_elmo left
03:33
seanrobert left
|
|||
Geth | doc: 455d2f7c2d | Coke++ | doc/Language/subscripts.pod6 Correct name of named argument to STORE ... also in example (which didn't compile) and text |
03:35 | |
linkable6 | Link: docs.raku.org/language/subscripts | ||
03:57
rindolf joined
04:10
wamba joined
04:14
wamba left
04:15
wamba joined
04:30
skids left
04:51
Altai-man joined
04:53
sena_kun left
05:43
wamba left
05:54
wamba joined
05:57
skyl4rk left
05:58
wamba left
05:59
Marcool joined,
wamba joined
|
|||
Marcool | Hi all, trying to update raku to moar-2020.07 on a raspberry pi is failing with the rather cryptic "make: *** [Makefile:1136: blib/CORE.c.setting.moarvm] Terminated", is there a way to get more information about the failing part? Passing --debug to make helps elsewhere but that is part of the "The following step can take a long time, please be patient. Stage start : 0.001 etc." segment and --debug | 06:00 | |
tellable6 | 2020-05-21T15:46:30Z #raku <MasterDuke> Marcool: maybe run it under strace and see where it's actually looking? | ||
Marcool | makes not difference to output there. | 06:01 | |
timotimo | Marcool: on the raspberry pi it's quite possible that you're running out of RAM. do you have a swap file or partition set up? | ||
tellable6 | 2020-08-15T21:55:57Z #raku <melezhik> timotimo I've broken down the Arrays VS Lists principal in Sparrow6 args stringification mechanism - github.com/melezhik/Sparrow6/blob/...-vs-arrays | ||
2020-08-15T23:22:03Z #raku <melezhik> timotimo `<>` works here - github.com/melezhik/Sparrow6/blob/...r.pm6#L126 | |||
2020-08-16T03:47:22Z #raku <melezhik> timotimo hopefully now I nailed it down - github.com/melezhik/Sparrow6/blob/...args-array | |||
06:02
skyl4rk joined
|
|||
Marcool | timotimo: oh… i never thought of that! how simple. I used to have 2Gb and recently reduced it I think… That would certainly be a good explanation I'll check | 06:03 | |
timotimo | dmesg may have a bit of extra information about the crash | 06:05 | |
06:08
xinming left
06:09
xinming joined
|
|||
Marcool | timotimo: nothing of any help on dmesg, but it's actually earlyoom that's killing it a while before I get to 90% :D | 06:14 | |
timotimo: you nailed it! | |||
timotimo | earlyoom possibly saved you from a couple of minutes of a locked-up system maybe | 06:15 | |
i'm glad i have earlyoom on my desktop system | |||
Marcool | timotimo: yeah it's helped me out with a few memory-leaky pieces of code in the past I love it too | 06:17 | |
Geth | ecosystem: kjkuan++ created pull request #525: Add my fork of Fcntl module |
06:18 | |
06:47
xinming left
06:48
xinming joined
06:50
gnufr33dom left
|
|||
Marcool | timotimo: cool! build completed :D | 07:00 | |
now new question: is there a simple way to reinstall local (i.e not in the ecosystem) modules with zef after a rakudobrew upgrade? | 07:01 | ||
i've kind of fiddled together a find command with an execute flag but dependencies tend to make it tedious… | 07:02 | ||
timotimo | as long as the distribution was initially installed with something like zef, the sources should be in the installation as well, and whenever stuff gets updated, rakudo should rebuild from source | 07:03 | |
Marcool | oh… that's not what I have been noticing :/ I am using zef to install my modules, but on upgrade (rakudobrew build moar 2020.07; rakudobrew global moar-2020.07 for instance) they are no longer installed in "that version" | 07:04 | |
timotimo | oooh rakudobrew | 07:05 | |
that's a tool specifically made to keep different versions as separate as possible | |||
07:10
zacts joined
|
|||
Marcool | timotimo: oooooh yes… | 07:11 | |
so if I had a single system installed version and just upgraded that as versions came out, installed modules would be re-built/installed ? | |||
timotimo | yeah, it's kind of trying to keep you from doing what you want there :) | ||
i hope i'm remembering this correctly and not spouting falsehoods | 07:12 | ||
Marcool | yeah but I see the trade-off. At least you know things work in a certain configuration and it's super easy to switch back and forth. If I upgrade and some module breaks, then I have to uninstall/reinstall raku to downgrade back to a working configuration | ||
timotimo | well, we're usually running all modules's test suites when doing releases | 07:13 | |
07:16
Sgeo left
|
|||
Marcool | I'm sure some of my modules will fail sooner or later :D | 07:16 | |
(they're not in the ecosystem just local) | 07:17 | ||
timotimo | that makes it more difficult for us to keep stuff working :) | ||
Marcool | sure, and I do plan to upload them at some point… but most of them are just a mess at this point :D | ||
I don't mean that I don't want to give back, nor that I don't want to help though, of course! I very much appreciate all you folks hard work | 07:18 | ||
timotimo | i understand the feeling behind not wanting to push code that isn't very pretty | ||
07:25
abraxxa joined
07:30
dolmen joined
07:34
Manifest0 left
|
|||
Geth | ecosystem: 4a707cc0a1 | (Jack Kuan)++ (committed using GitHub Web editor) | META.list Add my fork of Fcntl module This is needed for the `Shell::DSL` PR. |
07:35 | |
ecosystem: 4508ed1ec9 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list Merge pull request #525 from kjkuan/patch-2 Add my fork of Fcntl module I think it's OK now, but I guess it needs a bit of tweaking on the test side... |
|||
07:36
abraxxa left
07:38
dakkar joined,
leont joined,
Marcool left
07:40
molaf left
07:41
dolmen left
07:43
Manifest0 joined
07:52
abraxxa joined
07:56
abraxxa left
07:57
abraxxa joined
08:17
rockxloose left
08:18
rockxloose joined
08:46
edk_ is now known as e
08:51
sena_kun joined
08:53
Altai-man left
09:10
ChoppedBacon left
|
|||
Geth | advent: 6ac631658a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 20th/articles/rfc200.md More of woolfy++ tweaks |
09:11 | |
gfldex | lolibloggedalittle: gfldex.wordpress.com/2020/08/17/de...or-dynvar/ | ||
09:12
Black_Ribbon left
09:16
ChoppedBacon joined
09:19
Marcool joined,
wamba left
09:22
hungrydonkey joined
09:26
Marcool left
09:33
hungrydonkey left
09:35
hungrydonkey joined
09:53
wamba joined
10:00
stoned75 joined
10:14
wamba left
10:39
MilkmanDan joined
10:47
stoned75 left
10:48
stoned75 joined
10:59
Cabanossi joined
11:17
JJMerelo joined
|
|||
codesections | Upon reflection, I've decided I really dislike the way `».` uses the nodality of a routine to call either `deepmap` or `nodemap`. It's not *that* bad (and I recognize that it's well documented, including in the Traps to Avoid page), but I wish we'd budgeted an extra operator to call `deepmap`, and had made `».` always use `nodemap` | 11:42 | |
11:44
Tirifto joined
11:46
JJMerelo left
11:53
hungrydonkey left
|
|||
codesections | (and yes, I realize I'm being petty: the solution is nearly always to write `.map(*.method)` instead of `».method`, which costs only 4 characters. But still, Raku is *usually* so good at avoiding "smart" behavior that actually doesn't dwim that this stands out | 11:53 | |
) | |||
11:54
terminatorul joined
|
|||
terminatorul | Hello ! | 11:54 | |
codesections | hi! | ||
terminatorul | I run into a MoarVM panic with a short script: | 11:55 | |
role SqlInfo does X::Control{ has $.message = "Sql Info X::ControlFlow";}warn("Warning message");say "Exiting now";CONTROL{ when (SqlInfo) {say .message;.resume }} | |||
Am I doing something wrong please ? | 11:56 | ||
Sorry, how do you paste code here ? | |||
"MoarVM panic: Trying to unwind over wrong handler" | |||
codesections | The way you pasted code is generally fine. You can also evaluate it here like this: | ||
m: say 'hello world!' | |||
camelia | hello world! | ||
codesections | terminatorul: I'm not sure. I reproduced the panic with that code. I haven't used phasers all that much (or the CONTROL phaser at all), so I may not be the best person to help. | 12:02 | |
Oh! | 12:03 | ||
m: role SqlInfo does X::Control { has $.message = "Sql Info X::ControlFlow"}; warn 'Warning message'; say "Exiting now"; { CONTROL { when (SqlInfo) { say .message; .resume }} | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block at <tmp>:1 ------> 3hen (SqlInfo) { say .message; .resume }}7⏏5<EOL> |
||
codesections | role SqlInfo does X::Control { has $.message = "Sql Info X::ControlFlow"}; warn 'Warning message'; say "Exiting now"; { CONTROL { when (SqlInfo) { say .message; .resume }}} | 12:04 | |
evalable6 | Warning message Exiting now in block <unit> at /tmp/oCe6kliAiV line 1 |
||
codesections | terminatorul: That works ^^^^, and the only difference to your code is the extra block around the CONTROL block | 12:05 | |
terminatorul | Oh ... but that is wrong | ||
I mean it already has a different semantic | |||
codesections | ok, right. But I believe CONTROL cannot be used in the global scope, because it's a phaser that runs on block exit | 12:06 | |
lizmat | docs.raku.org/syntax/CONTROL | 12:07 | |
I guess the text can be confusing | |||
but CONTROL runs whenever a control exception is thrown | |||
just like CATCH | 12:08 | ||
you could see CONTROL as a CATCHer of benevolent exceptions | |||
codesections | (lizmat definitely knows this way better than I do, so listen to her over me :) ) | ||
12:08
hungrydonkey joined
|
|||
terminatorul | I don't find anything against CONTROL in global scope... | 12:09 | |
I am trying to create an exception class for warnings or notifications from SQL statements run with ODBC | 12:10 | ||
Based on how the language warnings display output but do not interrupt the program flow | |||
Yet they can still be caught and processed differently if the application needs to | 12:11 | ||
So could I create a similar exception in my module ? | |||
lizmat | m: CONTROL { say "caught a $_.^name() exception" }; next | ||
camelia | caught a CX::Next exception next without loop construct in block <unit> at <tmp> line 1 |
||
lizmat | m: CONTROL { say "caught a $_.^name() exception" }; warn "foo: | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in double quotes; couldn't find final '"' (corresponding starter was at line 1) at <tmp>:1 ------> 3ht a $_.^name() exception" }; warn "foo:7⏏5<EOL> expecting … |
12:12 | |
lizmat | m: CONTROL { say "caught a $_.^name() exception" }; warn "foo" | ||
camelia | caught a CX::Warn exception foo MoarVM panic: Trying to unwind over wrong handler |
||
lizmat | interesting | ||
m: warn "foo" | |||
camelia | foo in block <unit> at <tmp> line 1 |
||
lizmat | m: CONTROL { say "caught a $_.^name() exception" }; warn "foo" | ||
camelia | caught a CX::Warn exception foo MoarVM panic: Trying to unwind over wrong handler |
||
lizmat | m: CONTROL { }; warn "foo" | ||
camelia | foo MoarVM panic: Trying to unwind over wrong handler |
||
terminatorul | The panic shows when you CONTROL a class derived from X::Control; doing this appears to break built-in warn() | 12:13 | |
lizmat | m: CONTROL { say "caught a $_.^name() exception" }; redo | ||
camelia | caught a CX::Redo exception redo without loop construct in block <unit> at <tmp> line 1 |
||
lizmat | m: CONTROL { say "caught a $_.^name() exception"; .resume }; redo | ||
camelia | caught a CX::Redo exception This exception is not resumable in block <unit> at <tmp> line 1 |
||
lizmat | hmmm | ||
lizmat continues working on the RWN | 12:14 | ||
sena_kun tells me it's a long standing issue: github.com/rakudo/rakudo/issues/1605 | 12:16 | ||
terminatorul | So could I still create a warning-like exception class for my SQL commands ? | 12:19 | |
lizmat | Yes, you can, you should make sure your class does the X::Control role | 12:21 | |
m: CONTROL { dd $_ }; class Foo does X::Control { }; Foo.new.throw | |||
camelia | Foo.new control exception without handler in block <unit> at <tmp> line 1 |
||
lizmat | m: CONTROL { say "caught a $_.^name() control exception" }; class Foo does X::Control { }; Foo.new.throw | 12:22 | |
camelia | caught a Foo control exception control exception without handler in block <unit> at <tmp> line 1 |
||
lizmat | m: CONTROL { say "caught a $_.^name() control exception"; .resume }; class Foo does X::Control { }; Foo.new.throw | ||
camelia | caught a Foo control exception Cannot find method 'sink' on 'BOOTException': no method cache and no .^find_method in block <unit> at <tmp> line 1 |
||
terminatorul | I would like the warning-like behavior, meaning I would like my exception to be resumed by default ... by the runtime | ||
Is this possible ? | |||
lizmat | probably, but I don't have a boilerplate for that available | 12:24 | |
looks to me it would be a good SO question: stackoverflow.com/questions/tagged/raku | |||
terminatorul | Is there a way to inherit CX::Warning, but parameterize my exception like I can parameterize a role ? | 12:25 | |
Another issue I have: some multi-byte strings, like "sş tţ", will send interactive raku into an error loop repeating a message like: "Malformed UTF-8 near bytes .. ad" | 12:26 | ||
Apparently interactive raku is trying to read utf-8 strings from the console, but the default encoding in Windows is NOT utf-8, but depends on locale | |||
12:27
john_parr_ joined
|
|||
terminatorul | In my case the string encoding used by the operating system is iso-8859-1 | 12:27 | |
12:31
john_parr_ left
12:38
hungrydonkey left
12:42
stoned75 left
|
|||
lizmat | terminatorul: sorry, am busy with the RWN and was distracted... | 12:42 | |
I don't have an immediate answer | |||
12:43
stoned75 joined
12:51
Altai-man joined
12:53
sena_kun left
13:01
terminatorul left
13:02
__jrjsmrtn__ joined
13:03
_jrjsmrtn left
|
|||
rir | lizmat: Could you consider Rakudo/Test.rakumod/done-testing returning Bool for passing or not? | 13:07 | |
lizmat | what would be considered "passing" ? | 13:08 | |
no tests failed and correct number of tests when number of tests was specified ? | 13:09 | ||
rir | lizmat: Yes, you type faster than I! | ||
lizmat | I guess a PR would be considered :-) | 13:10 | |
Q: why would you need it ? | |||
13:10
xinming left
13:11
xinming joined
|
|||
rir | I want to turn tests around when actually coding by not testing when last passed and no dependencies have chained. | 13:11 | |
That without running a multi-level make. | 13:12 | ||
13:13
gnufr33dom joined
|
|||
rir | Thanks, I'll work on a PR. | 13:14 | |
13:17
stoned75 left
13:23
stoned75 joined
13:25
hungrydonkey joined
13:34
zacts left,
zacts joined
13:40
terminatorul joined
13:43
terminatorul left
13:50
zacts left
|
|||
holyghost | where to start to learn NQP, good links or something ? I can port my theorem prover | 13:53 | |
codesections | holyghost: The link I was given was edumentab.github.io/rakudo-and-nqp...s-day1.pdf which is from 2013 – I'm not aware of anything more recent, but I'd love to learn otherwise | 13:55 | |
holyghost | codesections : thanks a lot, I already have those on my server :-) | 14:00 | |
I fogot | 14:01 | ||
*forgot | |||
lizmat | and another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/08/17/2020-...ion-types/ | 14:03 | |
holyghost | ok, so now to go from scheme lists to nqp lists :o| | 14:07 | |
14:08
skids joined
|
|||
holyghost | Is there an elegant way in nqp to implement actors ? | 14:17 | |
e.g. an object that understands messages | |||
ok, I'll manage with a messaging system in a class or something like that | 14:20 | ||
dakkar | holyghost: github.com/jnthn/oo-actors ? | 14:23 | |
I'm not sure why you'd want to do it at the nqp level, though | |||
holyghost | well, because of a better system but I need to look into it that it is usable in raku's nqp layer | 14:25 | |
14:25
cpan-raku left
14:26
cpan-raku joined,
cpan-raku left,
cpan-raku joined,
Sgeo joined
|
|||
dakkar | I don't understand that sentence | 14:27 | |
holyghost | dakkar : I need to understand if classes are used in the implementation of raku in nqp | 14:28 | |
if they are not, I'd better not use nqp classes myself | |||
14:29
hungrydonkey left,
hungryd61 joined
|
|||
moritz | they are | 14:30 | |
(as a simple `git grep` can reveal pretty quickly) | 14:31 | ||
dakkar | github.com/Raku/nqp/blob/master/sr...rld.nqp#L4 ← just as an expample | ||
holyghost: wait, are you writing a compiler for some non-raku language, in nqp? | 14:32 | ||
holyghost | thanks, I understand | ||
dakkar | (are there other reasons to use nqp instead of raku?) | 14:33 | |
holyghost | no, that's my scheme rsr3 implementation in C at github.com/theholyghost2/racul | ||
dakkar : I want to add a split method without delimiters | 14:34 | ||
dakkar | to what? | ||
Raku `Str`? | |||
holyghost | the delimiters and result get theorem proved | ||
to Str yes | |||
a stream or collection in my scheme code | |||
dakkar | I still can't understand most of what you write | 14:35 | |
holyghost | a theorem prover is handy in a compiler, but machines are not always fast enough for it | ||
dakkar : for example, | |||
dakkar | are you trying to do compile-time correctness checks for Raku, via a theorem prover running in the compiler? | ||
holyghost | split ("a b\n c\t \r\n\") the theorem prover calculates the delimiter | 14:36 | |
dakkar | uh? why would that ever have a single solution? | ||
[Coke] | I would recommned implementing in Raku instead of nqp if possible. | ||
dakkar | I mean, the delimiter that the programmer meant is obviously "\0", and there just happen to be a single element | 14:37 | |
☺ | |||
what would the theorem be, there? | |||
holyghost | as I said it is usable on streams and arrays | 14:38 | |
dakkar : the theorem calculates several delimiters by logic theory, function theory and object theory | 14:39 | ||
dakkar | I'd love to see that theorem… | ||
holyghost | sure, that's what I want to do | 14:40 | |
dakkar | when you say "works on arrays"… could you give me an example? input and output | ||
codesections | I just realized that the feed operator is much more powerful than I'd known: | 14:41 | |
m: say 1 ==> { $_ + 1 }() | |||
camelia | 1 | ||
codesections | m: say (1 ==> { $_ + 1 }()) | ||
camelia | 2 | ||
14:42
stoned75 left
|
|||
holyghost | dakkar : I did a prototype in scheme : (define (enter-validities) | 14:42 | |
;; NOTE that the key is a number (to be hashed) and the value | |||
;; of the dictionary is a predicate | |||
((*validities 'add) 0 (make-theorem-prover-predicate | |||
;; p and q (as booleans) | |||
(cons (make-theorem-prover-precondition '( | |||
(make-theorem-prover-predicate-item 'operator-and 'and ) | |||
'( | |||
(make-theorem-prover-predicate-item 'boolean 'p ) | |||
(make-theorem-prover-predicate-item 'boolean 'q ) | |||
))) | |||
;; is q and p | |||
dakkar | codesections: it's a very fancy way to pass arguments ☺ | ||
codesections | dakkar: It is :D | ||
dakkar | holyghost: ehrm, don't flood the channel ☺ | 14:43 | |
holyghost | sorry, forgot pastebin | ||
dakkar | no worries, happens to the best of us | ||
codesections | And, importantly (at least to me) it's a fancy way to pass arguments from left to right *without* needing to give them a name | ||
14:44
stoned75 joined
|
|||
holyghost | dakkar : HTH, I'm afk for a while | 14:44 | |
dakkar | we didn't get anything past the first 10 lines… | ||
holyghost | ok, WAM | 14:45 | |
dakkar, you see the types such as boolean, the precond and the posterior | 14:46 | ||
of the predicate | |||
dakkar | and nothing else | ||
holyghost | that will be added to function logic, e.g. f : a -> a + n | 14:47 | |
for hashing towards the best delimiters | |||
dakkar | how does that help guessing what to split a random string on? | ||
it's not a decidable proposition! | |||
holyghost | it's a better system for it, although it is slower | ||
I just want to create a patch for it, nothing more | 14:48 | ||
or a PR | |||
more code, more fun :-) | |||
dakkar | why would I even want my program to guess? | ||
holyghost | to alleviate | 14:49 | |
to program split faster for example | 14:50 | ||
dakkar | I'm sure I'm missing something… it feels like a debugging nightmare to me | ||
holyghost | :-) | ||
dakkar | again, in your example of `split ("a b\n c\t \r\n\")`, how would your magic ever guess that the correct delimiter to split on is `\0`? | 14:51 | |
holyghost | or " " | ||
my magic will be programmed | |||
holyghost bows | |||
[Coke] | Makes no sense to me. | 14:52 | |
dakkar | you said "it works for arrays" | ||
can you show an example of it working? 1-2 lines of code, input, output | |||
holyghost | not yet, sorry | ||
dakkar | how do you know it's working, then? | 14:53 | |
holyghost | I'll give a simple example : | ||
dakkar | thank you | ||
holyghost | f : x -> y : x := x + hash, then use risk function theory to find the most common delimiter | 14:54 | |
hash is e..g a random number | |||
I need to elevate the simplicity of the f | |||
dakkar | I see no arrays there | ||
holyghost | but you can prove that more or less | 14:55 | |
the array is a type within the object theory of the theorem prover | |||
e.g. in the scheme code above '('array etc. | |||
dakkar | ok, so when you said "it works for arrays and streams" you were referring to the prover, not to the "guess the delimiter" thing? | 14:56 | |
holyghost | both | ||
dakkar | can you show me an example of "guess the delimiter" working? | ||
as in, "given this input, it guesses this delimiter"? | |||
holyghost | ok, | ||
('array a b c), you hash the array then you find " " | 14:57 | ||
e.g. an argmax/minimax to be simple | |||
s/to be simple/as a simple theory/ | 14:58 | ||
dakkar | I'm not asking _how_ it guesses | ||
holyghost | It still stays a theorem prover however | ||
dakkar | I'm just asking _what_ it guesses | ||
you say that given a three-element array containing three lower-case latin letters, the guessed delimiter is U+0020 | 14:59 | ||
holyghost | one or several delimiters, split without a delimiter argument (non-perl wise) then returns a split lists with guessed delimiters | ||
s/lists/list | |||
dakkar : with an object theory, one might use a 'iterator type | 15:00 | ||
dakkar | I'm not interested in the implementation, right now | ||
holyghost | the object theory as a theory for the theorem prover | ||
ok | |||
dakkar | I'm trying to figure out the expected result | ||
holyghost | a good split :-) | 15:01 | |
dakkar | again, given the input string `"a b c\td e f\ng h i"`, I see no sensible code that would guess that the correct value to split on is `"|\n"` | ||
15:02
MilkmanDan left
|
|||
holyghost | sure, it stays a statistic for example | 15:02 | |
I'm not sayinng its theorem proves everything, that's probably what you wanted to hear | 15:03 | ||
dakkar | and code that would return the equivalent of `(" ","\n","\t",/<ws>/,/<ws>+/).map: { $input.split($_) }` feels not very useful to me | ||
15:03
MilkmanDan joined
|
|||
dakkar | (a theorem doesn't prove anything, a theorem gets proven) | 15:04 | |
holyghost | I use statistics for it too | ||
It' a holly theorem prover :-) | |||
anyway, I'll show you the code in nqp | 15:05 | ||
if I may | |||
dakkar | I fear we are using two different definitions of "theorem" | ||
holyghost | when it's finished, I made a prototype which works a bit | ||
dakkar : I use theories | |||
Geth | doc/baggy-typo: 14dca27dc4 | (Stoned Elipot)++ | doc/Type/Baggy.pod6 typo |
||
holyghost | sublogic, functional logic, object theory logic | ||
Geth | doc: stoned++ created pull request #3562: typo |
15:06 | |
holyghost | dakkar : I'm going afk now, thanks for the talk | ||
dakkar | sure, have fun! | ||
holyghost | as I said, I'll show you the code for it, when it's done | ||
it's done when it's done | 15:07 | ||
dakkar | as always | ||
lizmat | holyghost: santé | 15:20 | |
Geth | doc: 14dca27dc4 | (Stoned Elipot)++ | doc/Type/Baggy.pod6 typo |
15:21 | |
doc: 53021e905a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | doc/Type/Baggy.pod6 Merge pull request #3562 from Raku/baggy-typo typo |
|||
15:21
stoned75 left
|
|||
linkable6 | Link: docs.raku.org/type/Baggy | 15:21 | |
15:22
gordonfish left
15:27
stoned75 joined
15:48
terminatorul joined
|
|||
terminatorul | Hello | 15:48 | |
Is there a way to read a CStruct with an embedded native array inside ? | |||
I am trying to follow the example in the Native calling interface, but the nativesizeof() is always wrong and the script crashes | 15:49 | ||
And now I get "CStruct representation attribute not yet fully implemented" | |||
Is that correct ? | |||
dakkar | would that be something like `struct { int foo[4]; }` ? | 15:50 | |
terminatorul | Yes | ||
dakkar | ew, ugly C | ||
I suspect that, as far as NativeCall is concerned, that's not an array (i.e. not a pointer) | |||
terminatorul | My struct is | 15:51 | |
typedef struct _cpinfoexA { UINT MaxCharSize; BYTE DefaultChar[MAX_DEFAULTCHAR]; BYTE LeadByte[MAX_LEADBYTES]; WCHAR UnicodeDefaultChar; UINT CodePage; CHAR CodePageName[MAX_PATH];} CPINFOEXA, *LPCPINFOEXA; | |||
From the WinAPI documentation | |||
dakkar | I guessed win32 by the weird consonant mashup 😜 | ||
stoned75 | am I wrong thinking that *-N on .pick/pickpairs/grab/grabpair is not documented ? | 15:52 | |
dakkar | terminatorul: the `CArray` is a pointer type github.com/rakudo/rakudo/blob/mast...akumod#L92 | 15:53 | |
so not what you want, there | |||
lizmat | stoned75: could very well be | ||
stoned75 | perhaps not even roasted ? | ||
terminatorul | Could I map the native array to a memberd declard as "HAS Str $name" ? | 15:55 | |
Or could I use HAS CArray[] instead ? | |||
dakkar | I'm pretty sure Str maps to `const char *` | ||
`has CArray $.foo` would expect a pointer in the struct, too | 15:56 | ||
lizmat | stoned75: could very well be as well | ||
stoned75 | lizmat: eheh :) | ||
dakkar | terminatorul: I don't see any obvious way to tell NativeCall "there's 300 bytes here, map them to a Buf" | 15:57 | |
dakkar doesn't know enough about NativeCall | 15:58 | ||
terminatorul | I will use a Buf as the structure and serialize the members manually | ||
Thank you guys ! | |||
lizmat | terminatorul+ | ||
+ | |||
holyghost | m: @a.what | 16:04 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '@a' is not declared at <tmp>:1 ------> 3<BOL>7⏏5@a.what |
||
holyghost | m: my @a = (); @a.what | 16:05 | |
camelia | No such method 'what' for invocant of type 'Array'. Did you mean any of these: 'Rat', 'flat'? in block <unit> at <tmp> line 1 |
||
holyghost | m: my @a; @a.flat; | ||
camelia | ( no output ) | ||
holyghost | m: my @a; @a.Rat; | ||
camelia | ( no output ) | ||
holyghost | m: my @a = (1 2 3); @a.flat | 16:07 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my @a = (17⏏5 2 3); @a.flat expecting any of: infix infix stopper statement end statement modifier … |
||
dakkar | holyghost: not lisp, you need commas ☺ | ||
holyghost | m: my @a = (1,2,3); @a.flat | ||
camelia | ( no output ) | ||
dakkar | also you may want to `say` things | 16:08 | |
holyghost | ok | ||
m: my @a = (1,2,3); @a.say | |||
camelia | [1 2 3] | ||
holyghost | nice :-) | ||
dakkar | it's similar to the rakudo repl, but won't just print the results of expressions | ||
16:08
xinming left
|
|||
holyghost | dakkar : how do I return the type of @a ? | 16:09 | |
m: my @a = (1,2,3); @a.what.say; | |||
camelia | No such method 'what' for invocant of type 'Array'. Did you mean any of these: 'Rat', 'flat'? in block <unit> at <tmp> line 1 |
||
dakkar | m: my @a;say @a.^name | 16:10 | |
camelia | Array | ||
dakkar | for example | ||
holyghost | thanks | ||
dakkar | but that's a string, not a class | ||
holyghost | sure | ||
dakkar | m: my @a;say @a.^HOW | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use .^ on a non-identifier method call at <tmp>:1 ------> 3my @a;say @a.^HOW7⏏5<EOL> expecting any of: method arguments |
||
16:11
xinming joined
|
|||
dakkar | m: my @a;say @a.HOW.^name | 16:12 | |
camelia | Perl6::Metamodel::ClassHOW+{<anon>} | ||
dakkar | ah, there it is | 16:13 | |
m: my @a;say @a.WHAT | |||
camelia | (Array) | ||
dakkar | that is the (stringifiacation of) the type objecgt | 16:14 | |
(it's been too long since I played with raku…) | |||
holyghost | thanks | 16:15 | |
16:22
guifa` joined
16:42
dakkar left
16:45
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
|
|||
leont | lizmat: small correction on the weekly: I wrote the RFC22 article (JJ posted it as I didn't have the right wordpress credentials and this was easier) | 16:45 | |
lizmat | aaaah... will fix | 16:46 | |
fixed | 16:47 | ||
leont++ # excellent article | |||
afk& | |||
leont | :-) | ||
16:49
mowcat joined
16:52
sena_kun joined
16:53
Altai-man left
17:02
finanalyst joined
17:12
guifa` left
|
|||
codesections | weekly: bsdimp.blogspot.com/2020/08/a-35-ye...nd-in.html | 17:28 | |
notable6 | codesections, Noted! (weekly) | ||
codesections | (not directly Raku related, but about Larry's Patch and dealing with code that's been there since the beginning) | 17:30 | |
(also, I didn't get a chance to say it earlier, but thanks for the Weekly again this week lizmat++) | |||
18:02
mowcat left
18:21
Sauvin left
18:29
stoned75 left
18:31
MilkmanDan left
18:36
stoned75 joined
18:47
JRaspass joined
18:53
Black_Ribbon joined
|
|||
codesections | When enforcing some invariant in a POST block, is it considered more idiomatic to throw an exception when the invariant is violated, or to return False? | 19:19 | |
[Coke] | ... or Failure? | 19:22 | |
codesections | Yeah, or Failure. Is that your preference? | ||
It looks like Roast returns a Bool, for what that's worth: github.com/Raku/roast/blob/master/....t#L65-L67 | 19:23 | ||
[Coke] | no preference, just mentioning the option | 19:29 | |
19:31
skids left
19:44
vrurg left
19:45
vrurg joined
19:54
guifa` joined
19:56
stoned75 left
20:33
codesections left
20:43
codesections joined
20:46
codesections left
20:50
codesections joined
20:51
Altai-man joined
20:53
sena_kun left
21:03
melezhik joined
21:11
MilkmanDan joined
21:29
skids joined
21:42
bigdata joined,
melezhik left
22:00
bigdata left
|
|||
Geth | advent: 1f6c45beb7 | Altai-man++ | 20th/articles/rfc28.md Minor tweaks |
22:08 | |
advent: 630399793c | Altai-man++ | 20th/articles/rfc84.md Add RFC 84 article |
|||
22:15
rindolf left
22:29
mowcat joined
22:37
gordonfish joined
22:46
guifa` left
22:47
melezhik joined
|
|||
melezhik | .tell tony-o - here the list of aws related sparrow plugins, including the ones to work with lambdas - rakudist.raku.org/hub/search?q=aws | 22:48 | |
tellable6 | melezhik, I'll pass your message to tony-o | ||
tbrowder | jj | 22:50 | |
jjmerelo: how often are public-facing doc pages regenerated? do i need to trash my browser cache to see an update? | 22:52 | ||
tellable6 | tbrowder, I'll pass your message to JJMerelo | ||
melezhik | .tell tony-o some of aws plugins might now work as they were created for old version of Sparrow written in Perl, but these ones (lambda related) should work - rakudist.raku.org/hub/search?q=function | ||
tellable6 | melezhik, I'll pass your message to tony-o |