« first day (517 days earlier)      last day (1018 days later) » 

4:53 AM
I think a fair number of people were introduced to k by oK, but I get the impression that most OSS K hobbyists today are using ngn/k. The speed makes it useful for a much wider range of potential applications; oK is just a fun toy.
 
 
2 hours later…
7:12 AM
@ngn yes (what john said). i don't think it's bad to have a version that is not the current dialect (k5 in your case). As long as it's consistent and you can do sth with it.
from my point of view, you should make it more approachable by refactoring (for both embeddability and portability): move the linux-only to a single file and make that an example, allowing others. A web repl is always nice to have, but i think wasm32 will be hard for your implementation, lot's of work or wait for wasm64.
If you don't like that because ppl could use ngn/k too easily, then what do you want?
@JohnE you mentioned the idea to work on a new interpreter yourself. did you start doing that?
 
 
4 hours later…
11:25 AM
for me, k's power is semantics - it just gives you better nouns, and better tools (verbs/adverbs) to manipulate them. it's surprising that so few "alt-k"s include tables as a data structure, or implement ksql or views/triggers. the performance is a very nice bonus.
some of the concepts in the k6/7 era (being a full os; including cryptocurrency in the core) never reached maturity and it'd be cool to see them return. i'd also like to see a k that is a good shell replacement and makes various forms of IPC and messaging easier (similar to go's channels).
oh and something like a jonesforth that bootstraps from nothing (oK comes closest)
---
wonder if `{:` and `}:` could be good view or trigger syntax for k9
}: might conflict with destructuring if that makes it in
maybe it's good syntax for something like @ktye's iv channels
 
12:37 PM
could you eliminate the special-casing of triadic $ (if) in the interpreter if it was a regular fn that took exprs instead? maybe the syntactic overhead would be unpleasant
 
 
2 hours later…
2:53 PM
@ktye yeah I have the beginnings of something, but it's a pretty low-priority project for now.
 
 
2 hours later…
ngn
4:46 PM
@ktye "then what do you want?" - in ngn/k? good performance on x86_64. it's hard to achieve. that's why i had to simplify, to throw away anything non-essential. windows support is not essential - among those who care about performance, windows users are too few to matter. wasm is not essential, it's useful only for in-browser demos. i can't afford to test on n platforms. testing just 2 (linux&freebsd) is hard enough.
@ktye embeddability wasn't really a goal. i have an .so build only thanks to jerome. i think a language interpreter should be more like an end-user product. the strong copyleft licence pretty much discourages embedding (unless you're happy to publish your product under the agpl3 too), and encourages upstream contributions.
@chrispsn hm.. would anybody pay money for arthur's k if it wasn't for its performance? btw, i can't remember a single moment when i've needed a view/trigger, but i've been often frustrated by the lack of closures.
@chrispsn you mean the k5/6 era? you mean cryptography?
 
 
1 hour later…
6:11 PM
k evaluates the arguments before calling a function. "if" is special because it only evaluates the branch it needs.
I was thinking about the inverse: special handling for "for" and "while". e.g. ![N;a;b;c] would evaluate the block a;b;c N-times. Or ![i:vector;a;b;c] the same with loop variable i. Things would evaluate in the current context of the function with no need for closures/projections.
 
 
2 hours later…
8:18 PM
@ktye can you provide a use-case?
@ngn I mean 5/6/7, I guess. And I meant cryptocurrency. k7 had builtins like 'bad' (bitcoin address)
(I have no view on that specifically but the idea of having a currency API in an OS is interesting)
 
ngn
@chrispsn hm, ok. iirc, the language was converging until 6, and then 7 started with the crazy stuff
 
k6-era has kOS too
 
ngn
@chrispsn k5 was supposed to become kOS too
but not k7 afaik, so the gap between k6-k7 was much larger than k5-k6
 
this is where i found it annoying: https://github.com/ktye/i/blob/master/_/k/m.k#L11
function qr calls f (which is qrh or qrz) to modify submatrices in-place. this needs a lot of packing and unpacking, which would not be necessary otherwise.
 
@ngn I'm more interested in getting the right language for an app that people want (ie mesh), not the language itself
 
ngn
8:34 PM
@chrispsn do people really want another spreadsheet app? i mean, it's cool but would anybody pay for such a thing?
 
We'll see
 
ngn
question also for @ktye - does anybody use your impl other than to look at demos?
 
@ngn some will use it, without knowing.
but you are right, probably nobody will start writing an application with it.
 
8:50 PM
hmm how to set the chat subject to 'existential crisis'
 
ngn
i don't wanna press too much with such questions :) enthusiasm is precious
@chrispsn lol :)
this happens way too often though, particularly with apl&co: a lone-wolf developer sees apl/j/k, gets excited, starts designing a language, pulling all-nighters implementing it, even writing docs, believing this will change the world, and 5 years later nobody even cares to take a look. something seems wrong.
 
@ngn I think that's the case with a lot of software projects
It helps a lot if you can immediately be useable by an established community and provide them a benefit
I put mesh's initial interest on HN etc down to being implemented in JS and being easy to try in-browser
 
ngn
@chrispsn i went through that phase with ngn/apl
later i realized how important performance is, especially in the apl/j/k family
 
I still reckon it'd be interesting if someone designed a k to run fast by basing it around v8
You won't get much done with big data sets in browser (need node for that) but at least people could try it out easily
 
ngn
9:05 PM
@chrispsn with ngn/k i didn't have to do that - i'm glad oK exists and is to a large extent compatible :)
@chrispsn according to my observations, this happens disproportionally more around array languages
few people would attempt writing a new python or java, for instance
 
@ngn what about lisp and forth?
 
ngn
@ktye yeah, right, true about lisp. i don't know about forth.
 
@ngn there are quite a few java/C#-y languages i've seen (and i might be of the people who have (mostly unsuccessfully) attempted to write a new java :p)
 
ngn
@dzaima but you're also involved in 2 apls, so it balances out :)
 
9:26 PM
@ngn APL-related langs are simple enough to be easily reimplemented, yet that simplicity can easily leave a lot to be desired. And the relatively low user count means that entering the market is much more easy than python/java
 
ngn
@dzaima you mean entering the market is much more difficult?
cuz if you have few users, you certainly have even fewer paying users
 
@ngn right, that's the practical truth. i was thinking along the lines of it seeming like there'd be less people to convince to switch as there's not really any standard, but that doesn't really make sense
@ngn that is true. Not sure what people in it for the money are thinking
 
@ngn you are using the wrong measure. if you implement an apl interpreter, the ratio of apl users that are interested is much higher than the same for java...
 
ngn
@ktye point taken. yet another measure could be the amount of $ you make.
(or could potentially make, after you build enough reputation in the community)
 

« first day (517 days earlier)      last day (1018 days later) »