« first day (843 days earlier)      last day (692 days later) » 

00:35
groups.google.com/g/shaktidb/c/8dDaO_ZDg1I/m/xxeE7mB-BwAJ this really annoyed me, 'we want to make it easy', no you don't, if you wanted to make it easy you'd have some actual documentation
01:03
> You don't have permission to access this content
 
3 hours later…
04:21
@rak1507 it would be great to have a central place for K related documentation and info
 
4 hours later…
08:16
@coltim agree, though I think odometer is useful, and list keys are different to dict keys in that they don't 'move' with the values
@ngn that is still the same :)
 
3 hours later…
ngn
ngn
11:19
@rak1507 i think getting the implementation right first is more important. implementation leads, documentation follows. for popular software like shakti, they don't even have to lift a finger - some fan will eventually write the docs. there already are a few competing attempts.
11:48
it looks like 'rank sensitivity' is already a concept in j - see 'internal rank' code.jsoftware.com/wiki/Vocabulary/IFamily
i really need to read the j wiki back to front
also TIL the word 'brick'
ngn
ngn
@chrispsn yeah, but j has multidimensional arrays like apl (making a distinction between matrix and vector of vectors), so there's never ambiguity
"brick" - nice :)
12:21
it would be interesting if v worked directly on the list, v. gave indices and v: gave a boolean mask
maybe that was the idea but the use of . and : doesn't seem to signify a specific meaning in J
maybe it wouldn't generalise well?
@ngn so, rather than they want to make it easy, they want other people to make it easy for them?
ngn
ngn
@rak1507 i think they want to make the implementation easy to use. what you seem to want is documentation to make it easy to understand.
12:36
Ease of use and documentation might as well be the same thing
ngn
ngn
maybe, but they don't have to be made by the same person at the same time
True, but if they actually wanted to make it easy like they claim, they would be doing more to try and document things rather than relying solely on community provided material imo
13:04
I'm having a problem with dictionaries(i think)
this program gives 'stk error on run
but I'm not sure why it's overflowing
ngn
ngn
@Razetime 2|x - did you mean 2!x?
i-
dammit
how do I return the result of a variable declaration?
ngn
ngn
@Razetime like, you have a:b and it's the last statement in { } and you want to return a as result?
yes
or inside a $[]
ah, :
ngn
ngn
@Razetime you could use { .. a:b; a} or { .. :a:b} (:x is "return")
@Razetime i think in $[] it should just work
13:08
so assigning inside
ngn
ngn
assignment evaluates to :: only when it's the last expression in { }
assignment in a block always needs :: right
otherwise it won't update outside
ngn
ngn
@Razetime yes, a:b is local assignment (local to a lambda), a::b is global
more or less like apl but without intermediate scopes
a:b is like apl's a←b and a::b is like apl's a⊢←b
a::b no matter what is always global
ngn
ngn
yes
@rak1507 ^ :)
13:31
is there a way to set integer precision?
ngn
ngn
14:21
@Razetime what is integer precision?
@ngn also, I'm getting 'dom even when there's an EOL at EOF
@ngn err i figured a way around it
it was a thing that needed bigint arithmetic
ngn
ngn
@Razetime do you have an example?
wait, I'll upload the file
i'll try changing the encoding again
apparently i set it so some obscure unix encoding
 
1 hour later…
15:55
i am having a problem here
d takes proper divisor sum
but the problem is x=s and ~x=s are still giving the same result?
@ngn ↑
somehow it works perfectly on the online interpreter??
ngn
ngn
16:12
@Razetime interesting. i get the 1 1 for the last expression, both online and on my laptop
@ngn I get 0 1 there as well o_0
I think x=s returns 0h there, but the ~ on that doesn't flip the value
maybe wsl is drunk?
it's still giving the same result here btw
 
2 hours later…
ngn
ngn
17:59
@Razetime @coltim i'm afraid i don't have a windows machine to debug it
@ngn I'm on linux though =|
ngn
ngn
@coltim and you get 0 1 for the last expression?
yeh; and whenever it's variable=integerLiteral where the integerLiteral is <= 32,767
casting x=s to any of b i l fixes it
x~s also works
ngn
ngn
huh
variable=integerList works too (even for values in the same ranges)
ngn
ngn
18:11
@coltim so, a:999;~a=999 prints 1?
@coltim which compiler do you use?
@ngn that prints 0
@ngn I had to insert a override CC=clang-10 in my make file since the default is gcc or something
ngn
ngn
@coltim another option is to export CC=clang-10 in .bashrc and use make -e instead of make
i need a (preferably small) repro to test on my linux machine
can't afford to have bugs like that. or else the golfing kids will laugh at me :)
@ngn maybe I'm getting confused or something but a:999;~a=998 should return 1 but returns 0 for me
ngn
ngn
@rak1507 that's good - repro in wasm! thanks
18:21
@rak1507 huh, there ~999=998 returns 0 as well
(locally for me that returns 1)
something interesting going on there
@ngn you could try replacing the -march=native on your end
ngn
ngn
@coltim no change (at least on freebsd)
mostly unrelated thought - now that integer types are transparent to the user, it could be beneficial to remove `b`h and maybe even `i
ngn
ngn
@dzaima right, the time has come
(after fixing the bug, of course)
18:32
@ngn well, if you'd remove `h impl, there would be no more bug :)
ngn
ngn
19:26
@dzaima thanks! that worked
i spent most of the time chasing a bug in cat() - 1 2,3 was giving (1;2;3) instead of 1 2 3
gotta find a way to collect people's golfs and turn them into tests (like my own golfs) because who knows what else might be broken..
@ngn :D
@ngn it's gonna be quite some manual work in any way you go about it. But it should be possible to query with SEDE and go from there
 
4 hours later…
23:38
@ngn what's worked for me is to attempt to golf things. I almost feel like a (relatively) straightforward "throw an arg of each type at each builtin, including all flavors of empty lists and nulls" would cover a bunch of the low hanging stuff
throw in a few inplace amends, and all the flavors of reduces/scans
one of those "combine X characters" as a fuzz test would be interesting

« first day (843 days earlier)      last day (692 days later) »