« first day (1433 days earlier)      last day (1211 days later) » 
00:00 - 22:0022:00 - 00:00

12:02 AM
@dzaima Both dyadic and monadic are parallel, but not for bitwise. That's why I'm looking at options for bitwise array ops
 
ngn
@dzaima aren't << >> | and Integer.reverse() enough for ⌽⍵?
 
@ngn hm, i guess
well, that's now on the todo list
 
I found a bitwise thing on stackoverflow, can those sorts of operations be done in parallel?
 
@rak1507 Only if you do a byte at a time
So if you're doing 3⌽A where A is boolean, you need to do the math for each of its component bytes and assign those bytes in parallel based on the original
 
Ah yeah, complicated stuff, this is why I stick to high level languages
 
12:09 AM
@phantomics it's probably better to work on 64-bit ints at a time (i have no clue about SSE, but i'd guess you can do some stuff 256 bits at a time)
 
@dzaima Yeah, a byte is the minimum, and the fastest approach is using the vector registers with SSE
Although some of Marshall's linked material indicates that sometimes "SWAR" (SIMD within a register) techniques can be faster for bitwise ops, that would be a case of doing 64 bits at a time
 
@phantomics SWAR can be faster than doing things bit-by-bit manually, but SIMD still beats SWAR
oh, "often beating dedicated SIMD optimizations on byte-sized data". what's "byte-sized data" there though?
 
12:25 AM
@dzaima I'm guessing where the array elements are a byte or smaller, so you can fit many into a 64-bit register
Not for 32-bit floats or anything
 
@phantomics the whole conversation is about bit elements only though
 
@dzaima I meant 64-bit SWAR with bit booleans can beat 128/256-bit SIMD with byte booleans.
 
@Marshall byte booleans?
 
@dzaima When each boolean is stored in a byte that's 0 or 1, like bool in C.
 
can SIMD not do bit booleans or something?
 
12:32 AM
@dzaima It's harder, since you can't shift an entire register in one operation.
 
@Marshall ah, well that sucks. (with a 256-bit register for byte booleans you only get 32 simd-ed operations, so it makes sense that 64-bit SWAR could be better)
I think it's worth mentioning that somewhere, no >64-bit shift is pretty important
 
Also kind of frustrating since if programmers used bit vectors then ISAs would add those instructions in a heartbeat. x86 has 128-bit byte shifts by an immediate (i.e. baked into the instruction), which they didn't bother to extend to larger registers. And 128-bit multiply. Large shifts and rotates aren't any harder than that.
 
in other news, I got puppetting and single-line replies working in the matrix integration
 
12:48 AM
nice
 
What's the advantage of matrix over SE again?
 
@rak1507 not much really
 
lol fair enough
 
(infinite edit/deletion time, longer allowed messages, markdown in multiline messages, better mobile app)
 
Ha, here's Geoff Langdale complaining about no SSE bit shifting back in 2008. And Langdale's still one of the few people doing anything worthwhile with vector instructions.
 
12:50 AM
@rak1507 I think it is mostly a matter of philosophy; open/secure/decentralized vs closed/unknown/corporate.
 
makes sense
 
1:07 AM
@dzaima Made some clarifications in the last paragraph.
 
1:33 AM
lol, when is dyalog getting a primitive for GF2P8AFFINEINVQB
 
just saw that video
 
@code_report So I click the link at the video starts with an ad "Python's where it's at. You can do almost anything with it…"
 
haha
 
@Adám hahaha
that is amazing
@rak1507 thanks for the RT. I think this vid rly highlights the elegance of APL. will be interesting to see ppl's reactions
 
1:38 AM
@Adám It's not wrong, it just doesn't include character counts...
 
dyalog needs to up their YT ads game!
'APL's where it's at...'
 
2:25 AM
@MartinJaniczek It should be trivial to add a JsonFormat configuration parameter to Jarvis that can be set such that the request payload will be converted to the matrix format and subsequently passed to your application code. What about in the other direction though (the Jarvis' response to the client)? Would your application code be returning a JSON-matrix-format result as well or would you return a "normal" APL array? I suppose we could allow for an input and an output format.
@MartinJaniczek I've also thought about allowing the developer to specify information about individual endpoints of a Jarvis service. I would think that JsonFormat could be a part of that information. My original thinking was that this would allow Jarvis to do some basic payload checking and free your application from having to do so.
 
@Adám "[Insert a Turing-complete language]'s where it's at. You can do almost anything with it..."
 
2:48 AM
Is it just me or is the new tryapl slightly slower to respond?
 
@rak1507 Yeah, it is.
 
Conscious decision or caused by some other stuff
 
A side effect of more robust tech. The old TryAPL was single-threaded, and a single user could hang the entire service for everyone. The new can handle a large number of requests simultaneously, and sets up one assassin thread per computation thread, to kill any that take too long. After the computation is done, its specific assassin has to be stopped. All this adds overhead, unfortunately.
 
:(
 
One thing I would really, really like added to the language is:
:TimeOut 10
    r←do stuff
:Else
    r←'Too slow!'
:EndTimeOut
or something similar.
 
2:58 AM
Maybe there's a hacky solution with & ⎕DL and ⎕TKILL
 
@rak1507 That is exactly what TryAPL does.
 
Ah
One thing I never figured out from briefly playing with & is how to aggregate results
It seems hard to do parallel processing with it that doesn't just perform side effects
 
@rak1507 Oh, f& returns a thread number. To collect the result from one or more threads, just do ⎕TSYNC threadnum(s)
 
Aha
 
What did you APLcart?
 
3:05 AM
probably something like 'return from thread' and also looked for entries with &
 
OK, I'll add those.
 
That's great, I feel like I'm definitely going to overuse {⎕TSYNC ⍺⍺&¨⍵}
shame I can't do ¨←{⎕TSYNC ⍺⍺&¨⍵}
 
You do realise that these are "green" threads, right? They'll never cause anything to run faster.
 
Oh, it did with ⎕DL :(
 
Sure, but that's quite a light workload.
 
3:10 AM
Yeah
Oh well
 
What you might be looking for is the ("parallel") operator which is like & but in a separate processor thread rather than in a green thread. And so ∥¨ does what you want. It also returns the results directly, so you don't need something like ⎕TSYNC
 
∥?
ah
So what I want is something that doesn't seem to currently exist...
 
Yeah, one caveat: doesn't exist as a primitive yet.
 
Oh well
Does tryapl recursively scan for forbidden strings?
 
@rak1507 Workaround: )copy isolate and then you have as a cover for ∥¨ and II as a cover for .
 
3:14 AM
interesting
 
@rak1507 You mean in nested s? Yes.
 
Thought of everything...
 
For a few heavy arithmetic operations, Dyalog will also run large data in parallel if you first run 1111⌶ with the max number of processor threads you're willing to run. 1111⌶⍬ gives you the number of (virtual) processors, and 1112⌶ sets the threshold for "large data".
@rak1507 That code is open source, btw.
 
Oh, cool, thanks
 
 
2 hours later…
5:36 AM
In the interests of brevity I'd remove 'a bunch of' from the comment.

'Does stuff' is fine.
2
 
5:46 AM
@dzaima Yes, APL\360 used bit booleans, and it was of great value given that most wsses were 32K (yeah, really!) bytes in size. Also useful on the IBM5100 (the grandfather of the PC, which ran APL and/or BASIC, which ran a S/360 emulator with APL\360 in ROM). The low-end 5100 had ⎕ wa < 10K.
 
6:15 AM
⋄⎕IO←0⋄{⍸⍣¯1⊢{⍵+⌈/∊|⍵}+\((1 0)(0 ¯1)(¯1 0)(0 1))[1-⍨90÷⍨+\(¯90 90)[{⍵,1,~@(⌊2÷⍨≢⍵)⊢⍵}⍣⍵⊢,1]]}3
 
@Razetime DOMAIN ERROR
 
I'm not sure why this is giving me a domain error, because without ⍸⍣¯1 it gives me a normal list of points
 
@Razetime ⍸⍣¯1 requires that the input must be sorted.
and all positive (if ⎕IO←1, or all non-negative if ⎕IO←0)
⋄⎕IO←0⋄{{⍵+⌈/∊|⍵}+\((1 0)(0 ¯1)(¯1 0)(0 1))[1-⍨90÷⍨+\(¯90 90)[{⍵,1,~@(⌊2÷⍨≢⍵)⊢⍵}⍣⍵⊢,1]]}3
 
6:37 AM
@Bubbler that's why the {⍵+⌈/∊|⍵} part is there
so I need to ⍋
cool, got it
⋄⎕IO←0⋄{⍸⍣¯1⊢(⊂∘⍋⌷⊢){⍵+⌈/∊|⍵}+\((1 0)(0 ¯1)(¯1 0)(0 1))[1-⍨90÷⍨+\(¯90 90)[{⍵,1,~@(⌊2÷⍨≢⍵)⊢⍵}⍣⍵⊢,1]]}4
 
@Razetime INDEX ERROR
 
there must be a better way to make this with an IFS
 
7:00 AM
Is there any BQN bookmarklet language bar?
@Adám mind if I make one?
 
8:04 AM
@Marshall are there any plans on changing the comment character from #?
 
8:16 AM
@Razetime of course not
@Razetime No, but should be trivial to add /lb/bqn
 
 
1 hour later…
9:45 AM
@Brian For my specific usecase I need to output a JSON namespace (object), so the defaults of JSONServer / Jarvis are OK for me in that regard. It's just the input that needed tweaking.
@code_report I thought I saw that video about a week ago ... was it taken down and reuploaded?
@MartinJaniczek Ah no, it was this: youtube.com/watch?v=zrOIQEN3Wkk ... Just really similar format
 
ngn
10:31 AM
@MartinJaniczek did you know there are fast and free vector languages out there? kona, j, etc
 
@Adám Cool, I'll pull request
 
11:01 AM
@MartinJaniczek We at Dyalog are intrigued by your project and would be happy to spend some resources to help you succeed, if you think that would be useful. For example, we could do an architectural review to see if there are opportunities to further reduce the memory consumption.
 
11:31 AM
That's nice to hear, thanks! I'll have to let the rest of the team and our tech lead react and consider it properly. So far it's a proof of concept with some impressive results, but I can't decide tech choices for a different team. I'll definitely keep your offer in mind though. It would be good to have some experienced APL eyes on this.

I'm working on a Jupyter notebook for other devs in the company that explains how my prototype works in more detail, with data printed out, diagrams, images etc. That might help a bit :)
I've also been thinking about running it on co-dfns or the tail-to-futhark project to see if GPU would speed up it further, but I'm unsure if all the things I use are supported in these. Anyway, not something to be decided right now.
 
@Adám done
 
@MartinJaniczek Co-dfns doesn't yet support nested arrays.
@Razetime Have a look at other people's pages, like ngn's to see what the wiki's style is.
 
mmkay
 
@dzaima Interesting thought: Whenever I see "dzaima" written, it is always lowercased, but your black and grey logo image has a capital D. So is Dzaima actually the right form, and the lowercase is just used for practical reasons in usernames?
 
12:28 PM
@Razetime No. What would you use? I'm very happy with # for the comment character as it stands out from the code and allows #! lines to be ignored.
 
I'm not sure, was just wondering if that was subject to change
 
@Razetime These glyphs and ⟨⟩ are the only ones I think I'd ever change, and even for those I think it's very unlikely.
 
I just found it a bit odd since is used in APL
 
And that is one strange symbol.
One of the main points of BQN is exactly to allow rethinking all the glyphs, considering the set as a whole, rather than leaving historical artefacts and constraints.
 
@Razetime You probably know this but the language bar code here is based on ngn/apl, so it should be fairly easy to adapt into a bookmarklet.
 
12:34 PM
that is exactly where I'm stealing from
@Adám lol
 
@Razetime I did use at first, but then changed it when I realized # was better in every way.
 
now that I think of it, it does make sense
 
Tidbit: None of the popular languages, back when APL was designed, has a comment style that could be adapted to APL.
 
BASIC's comment style seems similar
 
Similar to what?
 
12:45 PM
@Razetime I think the main point Adam's getting at is that Wiki style doesn't use inline external links, and instead uses citations if there are webpages directly relevant to one of the statements. See External links and compare to the sentence about deletion at ngn/apl.
 
I'll also want to add the APL community box, and various categories.
You can also add a little bit more personal detail, like frequenting the Orchard, and winning the competition.
 
I have no info on dzaima
someone else who knows more should add that
 
Having incomplete pages is fine though. Although yes, you probably want to read about categorization and maybe browse the root category.
 
1:10 PM
@Adám the icon thing is the wrong one. Approximately a year ago (apparently december 13th) I tried to recreate it with a lowercase "d", but it just didn't look right. (i also thought about small-caps "ᴅᴢᴀɪᴍᴀ" but that's also bad)
@Razetime aw man now that there's a page for me i have to actually decide whether my name should be capitalized when starting a sentence..
 
@dzaima :⍴
 
1:26 PM
@dzaima I think this is the relevant style guideline, since it's referenced here. It says we should capitalize Dzaima regardless.
 
@Marshall yay i don't have to decide
 
@Marshall Hm, how would yo apply that to ngn/apl?
 
This section is more specific.
 
xkcd isn't a username
 
1:31 PM
@dzaima Interesting, I would have thought Xkcd since it is just a name.
 
"Some individuals do not want their personal names capitalized. In such cases, Wikipedia articles may use lower-case variants of personal names if they have regular and established use in reliable third-party sources (for example, k.d. lang). When such a name is the first word in a sentence... the first letter of the personal name should be capitalized regardless of personal preference."
 
@dzaima and
 
The double line characters aren't rendering properly
 
Not a font issue? abrudz.github.io/lb/BQN386.ttf doesn't exist.
 
@Razetime That's what the Array.from()s are for: Javascript uses UTF-16.
 
1:43 PM
@Adám I have it locally installed so it uses that
 
@Marshall Ugh. Probably easiest to hack a fix using using placeholder characters, and then replace them at the end.
 
seems to have the same problem with Array.from
 
Oh, the MoS on trademarks says in another section that "Using all-lowercase letters may likewise be acceptable if it is done universally by sources, such as with the webcomic xkcd."
 
Oh wait I need to use tostring
 
@Razetime Yeah, it's very easy to get wrong.
 
1:46 PM
If you want to take the placeholder route, then ⓦⓌⓧⓌⓕⒻⓖⒼⓢⓈⓡ might be appropriate.
 
ok the Array.from doesn't seem to work
 
So just use the placeholders.
@Razetime Will you edit the dzaima article further, or shall I?
 
@Marshall Basically it looks like the rule "Do not invent new styles that are not used by independent reliable sources." supercedes all the others, but instead of saying that the MoS just has an exception for every recommendation if no reliable source uses the recommended style.
 
@Adám I'll clean up the citations once I get how to replace stuff correctly
 
OK, so ngn/apl is barely ever written NGN/APL, and I don't think I've ever seen "Ngn" or "Dzaima" in normal writing, even when sentence-initial.
 
1:53 PM
@Adám have you done this in another lb?
 
@Razetime Adding Array.from just to the definition of bqv should work. What did you try?
 
@Razetime No.
 
@Marshall I did exactly that
 
Btw, should the JS language bar for BQN not use \ instead of `?
 
yes it should
 
1:55 PM
Each language has its own instruction page, so it doesn't clash with existing text.
Though, I should update the attribution.
 
finding what I should change to use `\` completion is going to take a while
 
@Razetime In t.selectionStart = t.selectionEnd = i + 1, you need to change 1 to c.length so the cursor doesn't end up in the middle of the character. Not sure if that's enough to fix it though.
 
@Razetime ``\``
 
lol
 
how'd i mess that up ._.
 
1:57 PM
Guys, there's no excuse anymore.
 
@Adám "Dzaima" at the start of a sentence has actually happened twice here
 
@dzaima Right, you have the tools to find those. Links or it didn't happen :-)
 
@Adám A; B
 
@Adám for what exactly
 
@Razetime for not knowing how to use chat code markdown (that link is to note 1)
 
2:01 PM
oh well
I will keep butchering this markdown
 
@dzaima (there are a total of 6 messages containing "Dzaima", 2 more are from aplwiki links, one with it in the middle of a sentence, and this)
 
@dzaima Very strange in that "java" is wrongly capitalised, and ngn barely ever uses capitals ¯\_(⍨)_/¯
@dzaima Discussing the casing was what I had in mind to exclude with "normal writing".
 
'Include this HTML in your page: <script src="https://abrudz.github.io/lb/bqn.js"></script>'
I assume that should be razetime.github.io/lb/bqn.html?
 
nah it's supposed to be pushed to Adám's repo
 
2:06 PM
ah
 
@Razetime do this in L15
kinda stupid, but ¯\_(ツ)_/¯
 
Or simply use substitutes and then as a final step, replace the substitutes by their entities.
 
@Adám You still have to do that in multiple places.
 
@dzaima oh, there are a couple more uses of lbs[i][0]; the char & desc should really just be separate strings
 
Probably best to copy the logic starting here, with lbs[i] instead of d.
 
2:14 PM
104
Q: Encode html entities in javascript

JGallardoI am working in a CMS which allows users to enter content. The problem is that when they add symbols ® , it may not display well in all browsers. I would like to set up a list of symbols that must be searched for, and then converted to the corresponding html entity. For example ® => &reg; & => &...

@dzaima yup this one somehow works
 
@Razetime you don't really have to worry about that here. UTF-16 is the problem, not unicode in general
 
ah alright
 
My keyboard also changes v.slice(0, i) + c + v.slice(i) when inserting to v.slice(0,i)+c+v.slice(t.selectionEnd), which deletes the highlighted section. That matches how just typing a character works better.
 
ok now it works
with both dzaima's fix and the SO answer
 
@Razetime Don't forget to update the instructions and the ToC page.
 
2:20 PM
 
@Razetime BQN link should have uppercase BQN, otherwise it does not work; ` G does not give :p
 
@Razetime Something wrong with the ks generation. None of the glyphs have hints, except # which has a lot of them.
 
also typing seems to not work
 
@Razetime I see no combo hints.
@Razetime It looks fine ;-)
 
I was asking about the bar
 
2:24 PM
@Razetime your added html escape stuff broke it
 
yeah needs to be somewhere else
 
what is it trying to fix anyway?
 
except where is somewhere else
 
None of the special unicode characters need escaping.
 
wait a moment
 
2:27 PM
@Marshall Is there a reason you've not grouped the symbols? I'd insert a space at least in ! ˙ and ` ← and ‿ ·.
 
marshall's grouping is different
he has colors assigned to each type of operator using letters
 
@Adám They're highlighted.
 
@Razetime Sure, but if this language bar stays monochrome, then it should have those spacings.
@Marshall What 8% of European ancestry males see:
 
@Adám I will be doing it dw
 
@Adám Still looks pretty easy to distinguish to me? Even if not, the 1-modifiers are pretty easy to separate from adjacent characters.
 
@Marshall I'm more thinking the functions vs the 2-modifiers. But in any case, colourblind people tend to attribute very little meaning to colours, since they are usually not very useful. One should never rely on colour alone for distinction. Of course, BQN's symbols are splendid in that regard, so colouring and grouping are more of a luxury than a need. Doesn't mean we can't provide it.
 
also, do tell me if I missed any spaces
 
@Razetime Pairings seem wrong.
should be with , but is with space.
@Razetime The doubled letters work with clicking, but not with the prefix key.
 
@Adám what in the world
 
@Razetime you removed Array.from from bqk and bqv :|
 
2:42 PM
@Razetime There's a space on the wrong side of · and a stray space in ,(
 
@Adám wait why's the space before constant wrong
 
@Razetime That's not "constant", that's "nothing" :-)
 
so many dots
 
Yeah, @Marshall what happened with the plans to change the system dot?
 
2:58 PM
Ok I am unable to find where it detects for
the ` press
 
@Razetime Line 47: if ("`½²^º§ùµ°".indexOf(x.key) > -1) {
 
yes that line makes perfect sense
screams internally
 
@Razetime Double-struck chars are missing combo in tooltips.
 
@Adám probably lead to thoughts of removing it entirely, which is problematic to do
replace the for loop:
https://dzaima.github.io/paste/#0dVC7bsMwDJydryCyUIIL9bXFVvIhroBWhVPLMpwmVrUU/fcenYfRoRPJuyOPZDG0iQbfkSXmivaHEymBAoCHCqEGO5mhHT9Sh7osNX2vikI0TbwjY0x20DZIIGyCcxVlANn0hzAqZl1d5HESnUN1c@nPLj1c0vvi0lNp6VmHPalI1lohG4D05DTGmM@vqVP8MjKgmXJImG4l4uMZqtOb37L@x9Mf4@KJyxZDf8yY@sfsdZ6PFiHkJDwNa3LtKYU0tHYtfNeqjKDi9Rra0WVTQNeX0Abf1lpWXG9nTtL6Hruuip9f#JS
(and then fix these)
 
3:14 PM
I was messing with it, thanks
 
@Marshall ` is quite an awkward prefix key on many national language keyboards. E.g. on Danish and Belgian keyboards, it is AltGr+[button between Shift and Z]. On French keyboards, it is AltGr+8. Germans have it at AltGr+? (second button to the left of Backspace). In Spain, it is AltGr+[top-left key]. Etc. etc.
 
@Razetime \\ should give you a backslash, but it ignores any characters that aren't known.
 
^ if (!x.ctrlKey && !x.shiftKey && !x.altKey && !x.metaKey) should be an else if
 
yepp already patched that
 
@Adám Haven't had too much time to work on BQN because of Christmas so I haven't gotten to it. @dzaima did you have any thoughts on to indicate system values?
 
3:17 PM
@Marshall nope; no mention of in the transcript
 
@Razetime Some unexpected bindings: \Q\P\A gives ↙⍳↖
 
@Adám those are expected, if unused
@dzaima (see this for ↙↖)
 
OK, fair enough, but APL Iota‽
 
@Adám that's also part of marshall's keyboard for some reason
 
@Adám this
 
3:20 PM
Oh.
 
@dzaima Seach doesn't (always?) work for special characters; conversation starts here. Scroll down about a page for samples with alternate symbols.
 
@Marshall I used my local search which handles special chars just fine, but so it failed too
 
Ok I'll open a pull request now
 
@Razetime Before letting us test it all?
 
it's on the same link
 
3:23 PM
You didn't say you were ready for another pass.
 
@Razetime "Use backtick ` as prefix" is still wrong.
 
@dzaima Uh, yes there is.
 
@Adám oh, that conversation is recent. my local db is only up to dec 16
 
Ah.
 
try reloading again
 
3:25 PM
somehow i completely missed the conversation ¯\_(ツ)_/¯
 
@Marshall or clearing cache
should be there
 
Confirmed
 
@Marshall feels like it's not part of the name but is a separate symbol (though that's probably just be being used to /)
@dzaima (actually also feels separate-ish. at least has its bottom aligned with alphanumericals)
 
@dzaima It isn't part of the name. The syntactic role is determined by the next character.
 
@Adám part of the name token. i.e. •abc should be more "connected" than ÷abc
i mean, you complained about it too
 
3:35 PM
Yes, ^, but then I saw that it is truly an escape character/introducer for a proper name that comes next. And for that, an arrowhead is nice.
 
speaking of which, \Import? :p
@dzaima (oh god that reminded me of TeX)
 
I'm not sure that'll stand out enough.
@Marshall What do you think of adding a Tab-combo scheme?
https://dzaima.github.io/paste#0HZHBTlpBFIb35ym@0gVgubLENPfetBtd3hhjNaVAN@iuGA1oLDU2aRAuRZFqoAZLK5pC2qSbpjRppQkuWfgO8wQ@Qs@4@uY/889/Zs48Qhzkps3OjtyMcB6LqVeYmRFTPaPkiHkfUs4pqqRSWvxKNqsYUCrJ5DtOQsqIqV3i5nA9cRHf6iv8HL4nnhWf8ZKKL3gaVLsg5fFck8M@TllxQVnVVcjWliaP2d1VV4PiKzGVY7JqqXygZHFKVrt@w3Vl8gff12tdE@hOo0bwQpLarFHnqS20eGazj0inFcektXXYJJNRtMioqobk8@ockbd7JywvywMEZPqRaFSmXfb21NahUBDTrhMEavuNo6rXpWBnMyZQFXYI9IHtXywuijnUuxRl2qFYFHN2QBCRyYBIRO1dEnqq0SPQ@b79i@fJ5CfJpEzPreHlfXdTaeKq7aBpB2oqQ9yoooWj762/w/UlgcSQOPIaeaMnegNiMcWQeFzM/j9yOZs0GTE7q7p
 
@Adám ¨ and ˝ are the same. (also √ v/)
 
@Razetime Any particular reason for using BQN385 and not the modded DejaVu?
 
APL386 was used so I figured I'd use a similar font
you can change that if you want
Marshall has a font picker with julia mono and those things
 
3:42 PM
But all the non-APLs use DejaVu. In fact, we could probably use the BQN DejaVu for everything, including APL.
 
that makes sense
 
@dzaima (kinda unifies the \n vs •lf for @+10ideas too)
 
@Razetime Can you update your PR to use github.com/mlochbaum/BQN/blob/master/docs/DejaVuBQNSansMono.ttf for everything?
@dzaima Or rather, it just reinforces the addition of those names.
 
4:14 PM
@Razetime You can remove the existing DejaVu file and change all the other lbs to use it too.
 
all the other lbs already use dejavu
and it works for them
 
@Razetime Yes, but they point at "DejaVuSansMono.ttf" rather than "BQN386.ttf".
 
what?
 
4:31 PM
Sorry, I mean rather than "DejaVuBQNSansMono.ttf"
 
oh you just want to remove the apl fonts and change all associations to the mod
 
Exactly. All languages can use a single font.
 
ok done, I'll push it now
@Adám pushed
 
(Yup, I get notifications.)
 
@Adám never trust notifications
 
4:44 PM
true
 
umm
just one problem
the readme
 
You forgot to pull?
 
just see the readme
small styling issue
 
I'll fix it.
Btw, the APL lb uses lowercase for functions, Uppercase for operators, and CAPS for other syntax. Would it be an idea to do something similar for the BQN lb? Maybe most appropriate would be: Function, _modifier, _combinator_, constant, SYNTAX
 
5:08 PM
so BQN is only implemented in js and Java so far?
 
@Razetime those are the fully working impls so far. There also are unfinished ones in PowerShell and erlang
 
so, none in a "fast" language yet
 
@Razetime i guess so. Java is "fast enough" for me
 
maybe this would be a good reason to try rust
 
@Razetime thisthis (and the go version ended up being slower than the JS one)
 
5:16 PM
aha that's nice to know
 
How did the go version end up being slower than the JS one?!?
 
probably because it wasn't written for Go in the first place
happens with ports
 
@rak1507 JS takes advantage of transpiling BQN to JS, which can get JIT-optimized. And JS can be pretty fast
 
Ah
 
@rak1507 Speculation here.
 
5:19 PM
Right, interesting
 
JS was faster even before transpiling.
 
I guess that makes sense, most of the potential speed probably comes from easy multithreading
 
@Marshall ah right, true. (for context, some tests ran at 1m12s before transpilation (approximately what Go had), 48s after initial transpilation, and after a bit of refactoring, at 11s, and then 5s after using new Function() instead of eval)
 
@Adám Added. Would be nice if there were some link from that page to the corresponding Github repository, since currently it has no obvious authorship or affiliation.
 
@Marshall Other than via the "other languages" button, yeah.
 
5:33 PM
@Adám Is there evidence that anyone uses tab combos? Personally I don't think they'll be any easier to remember than the single-character versions, and they're harder to type.
 
@Marshall I think they are easier to use without needing to remember more than the basic rules of ASCII→glyphs transformation.
@Marshall … especially for rarely used glyphs. E.g. \? is harder to remember than <= imo.
 
@Adám <= might be confused (and is in your definition) with though
 
@dzaima True, and there compromises, but the glyph obtained by <= will immediately remind the user that the scheme is based on visual resemblance when overlaid, and then <_ is obvious.
 
5:49 PM
(fwiw i've personally bound to alt+Z for myself as my keyboard doesn't accept altgr+shift+/, and feels slightly more like than to me)
 
 
3 hours later…
8:28 PM
@dzaima where is the go version of bqn?
and is an implementation of the vm enough for a full interpreter, e.g. is the parser available in the byte code?
 
8:50 PM
@ktye Marshall never published it
 
@ktye If you're interested, I can send you a copy, but it uses an earlier version of the compiler and runtime which is less complete.
@ktye Yes, a VM plus the bytecode from my repository gets you a BQN implementation. See the VM documentation.
 
@Marshall yes, i'd like to take look. ktye78 at gmail, if you want to send per mail.
 
That documentation is also a little out of date because people are still trying to port the non-transpiling version of the Javascript VM. I think the only change so far is that LEB128 is no longer used (so it's just an unsigned-integer-code, not a bytecode).
@ktye Just sent.
 
@Marshall thanks
 
9:34 PM
Is there any equivalent of ⎕SE.Dyalog.Utils.repObj in Dyalog 17 and below? It doesn't seem to work on TIO (specifically, ⎕SE.Dyalog gives a Value Error).
 
@user it is in Dyalog 17, so something about how TIO starts things is to blame
 
Oh, well, there's always TryAPL
 
@user this works
 
@dzaima Cool, thanks!
 
9:43 PM
@Adám Thank you too!
By the way, does RIDE have a limit on the length of an expression? I tried evaluating a long 5-line string, and it just did nothing.
 
@user it has some limits. Sometimes you can work around it with s←'' \n )ed s, pasting text there, exiting and ⍎s
 
@user Both RIDE and the interpreter have character count limits on input, and both and functions have limits to the number of "tokens" in an expression, but maybe most importantly, multi-line strings cannot be evaluated!
 
9:58 PM
I see
@Adám It wasn't a multi-line string, I meant that after wrapping, it was on multiple lines.
 
It wrapped on input?
 
00:00 - 22:0022:00 - 00:00

« first day (1433 days earlier)      last day (1211 days later) »