« first day (1162 days earlier)      last day (508 days later) » 

1:33 PM
@UnrelatedString
 
hostile takeover time
 
ah there
 
so what do you have so far
 
I probably.. want to use the range ascending thing?
 
what for
 
1:34 PM
Idk this is my first brachylog thing I have no cluse
 
lol
so first off uh
 
@UnrelatedString to filter out non alphabets
I just thought it would be fitting to do it in brachylog
 
i was about to say your solution should probably be something all inside {...}ˢ but using a generator with is probably shorter
let me get a test harness for you
...wish there was a better set of canonical test cases
i'll just steal the jelly one
s
 
lool
 
okay so if you want to do a generator use this, if you want to do not a generator just remove the header
so yeah first thing for working towards a solution is that range fails if you try to give it something that isn't integers, but you can also use the built in alphabet string constants
 
1:44 PM
does brachylog have builtin constants?
 
interesting
so ⊆Ạ should imply that the string is a subset of the alphabet
right
 
i'm not even sure that using would be the shortest way to remove words containing non-alphabetic characters but yeah
 
man I wish I was there during the brachylog lotm
 
the issue with using here is that it's not actually subset, it's subsequence
so ⊆Ạ is "input consists entirely of lowercase letters of the alphabet, which are in strictly increasing order"
 
1:47 PM
huh.
 
which sounds perfect except the "strictly" part
 
strictly increasing is..right?
 
"aa" would fail
 
oh.
 
come to think of it the actual challenge spec isn't completely clear about it but the remark about "Maddox" being "abecedarian in ASCII` implies "aa" should succeed
so you could use d to remove duplicates, but that would also remove duplicates which would otherwise be out of order
 
1:50 PM
harsh
 
ḅhᵐ is one option, take the first element of every run
...maybe with a c on the end
:/
so that's coming out to 10 bytes
 
wait lemme check what those symbols do
so
ḅ is blocks
 
h is the first of each
 
h is just the first, then maps it
 
1:57 PM
oh, there's mapping
 
yeah
the only thing brachylog has that resembles implicit vectorization is backtracking so you're going to be seeing that a lot
 
backtracking hmm
so ḅhᵐ⊆Ạ?
 
huh.
 
except you also need an on the start to casefold it
 
2:01 PM
it gives an empty list
therefore the test case is wrong :P
 
and then you have to deal with it not actually performing any kind of filter
 
wrap it in braces
 
if you removed the header and then ran it on each element of the test case, it would succeed for the abecedarian words and fail for the other ones
 
neat.
I shall scour answers for inspiration
 
it's one byte longer than the generator solution
on a side note, i found another 10-byter that contains the substring "LoL"
 
2:05 PM
the mutilated ryze jpeg gives you unforeseen power
 
one might say, desperate power
that is what his old ult was called right
 
i thought it was explode or something
 
that may have been an older one
 
how many reworks have they done to the poor man
 
i think the one from four years ago was his first proper vgu but i think he's had at least one mini rework since then and like four before
 
2:09 PM
@UnrelatedString this is correct
original ryze ultimate was called "Desperate power"
makes everything he has into an AoE
 
i think it was just a ton of cdr and spell vamp at the end but yeah that sounds about right
 
ok back to trying (and failing) to find the 10
 
the select metapredicate now makes sense
 
so it's a shame you have to not use it for 10 lol
but yeah gj figuring that out faster than i did
 
2:12 PM
lmao
 
i think i was writing brachylog for at least a week before i learned the distinction between and ˢ
 
however, i don't get what the & is there for
can't find it in the docs
 
i think it's under control
 
@UnrelatedString I have been looking at the docs over and over and then not writing brachylog for a while now
 
but it's pretty much just an abbreviation of ∧?
as for why it's there, i could tell you but it's funnier to tell you to remove it
 
2:16 PM
@UnrelatedString "impllicit unification" means that the slphabet just replaces the thing?
this is so wack
ah so & translates to ∧?
if the thing is false i suppose it short circuits
 
yeah, ˢ isn't so much a filter metapredicate as it is an analogue of that handles failures differently
 
m just results in false
 
exactly
it would succeed only if the predicate didn't fail for any element
 
so creating a boolean array has to be done some other way
 
since ˢ is just except it ignores elements that fail, to return the elements being filtered rather than some intermediate value in determining if they should be filtered out, you have to explicitly unify the input and output
...not entirely sure what you mean by boolean array
there is actually no concept of a truthy or falsy value, just success or failure
 
2:24 PM
well err ok
@UnrelatedString why explicitly unify when implicit unification is done?
 
well actually implicit unification of adjacent variables is the only way things can be unified
and then input and output are implicitly present at the start and end of a predicate respectively
but what i mean by explicitly unify is that you have to place the input there explicitly to unify it with the output because it won't be unified with the output otherwise
 
so you just put a ? at the end
 
yep
and then you end up needing as well because {...Ạ?} would also try to unify the input with the alphabet
 
ah logical conjunction with the input, which is unified with the output
My brain is not fried enough yet
 
i think the conceptual reason is "just break unification lol" is that it represents the conjunction of two separate chains of unified stuff, as opposed to which breaks unification but creates a disjunction instead
 
2:36 PM
interesting
i wonder how fast prolog is
 
i think swipl is pretty well optimized
 
i wonder how well it does in fastest-code
i think it wouldn't hurt to have meta predicates implicitly close curly braces
although it kinda messes with the aesthetic
 
2:51 PM
i think that would be hard to disambiguate when you're also trying to use metapredicates on non compound predicates
 
I think brachylog would greatly benifit froma trace command if it doesn't already have one
@UnrelatedString I still need to understand that then
 
what kind of trace
 
tracing througha predicate and seeing what happens
showing what's getting unified and what result is coming out, so on
 
i just stick a bunch of {w&}s in the middle
which isn't always the best because it labels unbound variables
but uuuuuusually does the job
 
ah the joys of golfing
 
2:58 PM
also you could use w₂ but you can't type that as fast lmao
 
I still need to get the brachlylog lb
doesn't the lb have keyboard shortcuts?
 
the bookmarklet? yeah
i never remember most of them lmao
well the subscripts are just underscore
 
I remember stuff only for apl
husk i just resort to intense clicking
 
if they simply used the haskell names I would've like it a lot more
 
3:02 PM
the husk and jelly bookmarklets also have the advantage of having documentation built in
 
maybe I should pr
@UnrelatedString I can add docs
 

« first day (1162 days earlier)      last day (508 days later) »