5 ms·
iKe: a browser-based sandbox for K
- RodgerTheGreat 7y agoMore context/explanation, and a little livecoding demo, can be found on the github page: https://github.com/JohnEarnest/ok/tree/gh-pages/ike https://github.com/JohnEarnest/ok/tree/gh-pages/ike And here's another demo, showing the creation of a voronoi diagram from points. This might better illustrate how one can use iKe to iteratively develop programs: https://i.imgur.com/7JNU2r3.gif https://i.imgur.com/7JNU2r3.gif
- 7thaccount 7y agoSeriously cool!
- markstos 7y agoThe primary page linked to would be improved it linked to any kind of documentation like what you've mentioned. I followed the link, saw a pretty much blank page and left.
- kick 7y agoIt seems pretty self-explanatory to me? "A Sandbox for [language]" → text box, run button, "Choose an Example..." button
- i_don_t_know 7y agoI think a link to the Readme.md might be more useful because it explains in detail what it is, why you might find it useful, and how to use it. The Readme.md contains a link to the sandbox fairly early on, but the sandbox doesn‘t seem to provide an easy way to get to the documentation (language info, API info, etc).
- kick 7y agok doesn't have any valuable documentation to begin with, so language info wouldn't be much better than what you could get by doing a WWW search. The best way to learn is by doing, and the examples are really well commented.
- lelf 7y ago> k doesn't have Yes it has. https://github.com/JohnEarnest/ok/blob/gh-pages/docs/Manual.md https://github.com/JohnEarnest/ok/blob/gh-pages/docs/Manual.... for OK (the K interpreter in iKe)
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]
- darkkindness 7y agoMy take: I don't think this is an issue. "What it is" is a sandbox for graphical K programs, which is already provided in the title. Given that K is already rather niche, and sandboxes are meant for playing with rather than general use programming, it seems like this toy isn't targeted towards a general audience and has no obligation to explain itself further than "K in your browser".
- cestith 7y agoA web search for a niche technology with a single-letter name is often near useless.
- kick 7y agohttps://duckduckgo.com/?q=k+language https://duckduckgo.com/?q=k+language The Wikipedia page, multiple pages related to the language, etc. all show up. There's a few unrelated items, but those should all be apparent after a second of reading.
- tombert 7y agoEvery time I see one of these array-processing languages, I'm always baffled at how small you can make the code, but then am further baffled and wonder how anyone is able to read/debug it. To people here who know APL/J/K rather well, does it become second-nature and easy to find mistakes?
- RodgerTheGreat 7y agoYep.
- kick 7y agoI second this.
- xelxebar 7y agoMy experience is only with J, but I imagine it carries over to APL and K as well. The code ends up reading a lot like an algebraic sentence after a while: x (1/u + 1/v) = x/(uv) (u - v). Spot the error? Once you are familiar enough with the orthography that the symbols dissapear and you see the concepts, once you have some familiarity with the common ways these concepts interact, then J/APL tend to feel refreshingly clear in their expressiveness. This is similar to how an algebraic equation feels a lot clearer than its rendition into "more readable" prose. Take the above equation and contrast it with this: The sum of two inverses, when scaled by some factor, equals the difference between the two reverted numbers, scaled by the quotient of the original factor with the product of the reversions.
- toastking 7y agoYou start to see "idioms" in the code. Common ways of doing things. You learn that taking the first element of a reverse of a list is the last element, per se. Like any language, with experience it becomes very easy to read.
- 7thaccount 7y agoI really like the K language after reading through the ok tutorial listed below. I just wish there was a free and open source K engine written in C that would work on Windows or Linux. I've tried J, but I think I like K much better. Ok and Kona don't seem to be production worthy (performance or correctness I would guess). I like the concept of a tiny interpreter though with no install (kinda what Kona has for Windows, but better supported).
- kick 7y agoThere's an AGPL k that works on Linux (ngn's), but not one that works on Windows. "Production-ready" is a misnomer for this, though; if you want production-ready k, just buy it from atw.
- 7thaccount 7y agoI can't afford it and it's not mainstream enough for my industry (extremely conservative) to try out.
- RodgerTheGreat 7y agoAt the end of the day, that's the immovable object. A free, open-source, high-performance interpreter for K would get cease-and-desist-ed into oblivion by virtue of competing with the commercial implementation. That's why I made mine a toy: fun to tinker with, but not fast enough to give anybody ideas. Kinda sucks, huh?
- kick 7y agoHave you seen ngn/k? It was released under the AGPL recently, and is pretty fast.
- 7thaccount 7y agoI just looked at it quickly and it appears to be more than a toy. How about Windows support? File I/O?
- 7y ago
- HeraldEmbar 7y agoThere needs to be detailed comments for at least ONE of those examples! Very cool. I've looked into k and J...they look like fun toy languages.
- smabie 7y agoThey’re not toy languages. Both have widespread use in industry (J less so) and come with mid 6 digit or more support contracts.
- RodgerTheGreat 7y agoMost of the examples have a moderate supply of comments. Here are a few I cherrypicked: https://raw.githubusercontent.com/JohnEarnest/ok/gh-pages/ike/examples/dissolve.k https://raw.githubusercontent.com/JohnEarnest/ok/gh-pages/ik... ("dissolve" effect) https://raw.githubusercontent.com/JohnEarnest/ok/gh-pages/ike/examples/upc.k https://raw.githubusercontent.com/JohnEarnest/ok/gh-pages/ik... (UPC generator) https://raw.githubusercontent.com/JohnEarnest/ok/gh-pages/ike/examples/islands.k https://raw.githubusercontent.com/JohnEarnest/ok/gh-pages/ik... (random island coasts)