Hacker News new | ask | show | jobs
by eggy 3095 days ago
I like Red, and I have been following it. I dabbled with Rebol back in my Amiga days, but not much. Red is a nice batteries-included, small, Lispy-forth language in my perception.

I am sticking with my Lisps (SBCL, Racket, Emacs Lisp, Shen, and Wasp Lisp) for now, and my beloved J [2], but I love the size of the whole Red/Red System environment. I think it is going to take off.

I know Naned, the man behind Red, was CEO of Fullstack Technologies, and it was based in Beijing after an initial $500k VC funding round from Chinese VCs [1].

Curiously, I predict a bunch of conspiracy theory people to relate Red = Communism, Blockchain/ICO/Coins = Socialized currency, and a decentralized internet running DAPPs to dilute the USA's currernt juice in the internet all with a connection back to China, but I am ecstatic about a distributed internet that cannot be censored like it is in China, or in less obvious ways in the US. I missed the Bitcoin buy-in when it was selling at $200-something, but I always knew in my readings that the blockchain is its secret sauce. Aside from the energy expenditure, I like the concept. How can it, or can it become energy efficient, but still stay difficult to mine to work out both ways? Seems like it will not be possible. You cannot make it easy for everyone, and hard enough to have value...

  [1]  http://www.red-lang.org/2015/01/dream-big-work-hard-and-make-it-happen.html

  [2]  jsoftware.com
2 comments

“Proof of stake” (as opposed to “proof of work”) is an attempt at reducing the energy footprint.
Thanks for the tip! I'm going to check this out.
s/Naned/Nenad

I recently got interested in J too by the way, how do you use this language and Lisps in your work?

The APLs and especially, for me, j and k, are really interesting languagues. For one, I agree with Whitney, the creator of k, that you should not have to scroll to read your software. I think making sure at least every function points fits on a phone screen is a large boon for readability and maintainability. It is not the fact that it fits there, it is more so that if it does, you can work on that implementation mentally focused: without jumping pages or even files. I know a lot of people find j,k and even Forth unreadable, but that is really just practice. When I got used to it, I found, for instance, c# a lot more annoying to read. It is somewhat (this is a bit over the top, but you get the idea) the difference between reading Godel his original whitepaper (in German ofcourse) and Godel, Escher Bach explaining that whitepaper. Both are good reads, but the original paper, when you have the background context, is easier to read and debug that that enormous volume.

I hope to find more time to explore these avenues. For now, k and forth mixtures are my favorite to mess around with; I created a little language to do live coding on my phone for Xamarin and the forth/k mix I use is actually the first thing that is not annoying to work with on a phone screen. Because most happens in your brain and what you type is a few hieroglyphs, the development is interactive, you can walk around doing it. I hope to clean it up enough to release it (I am old, I do not like this releasing of half baked stuff usually, unless it is game related): it saves me a lot hell doing edit/compile/wait/test cycles.

For playing around, check out oK : it is a k implementation in JS, it is slow but works everywhere and has some cool features for making graphics and little games.

I am familiar with k and oK. Is your unreleased language closer to forth or k? Sounds interesting. I checked out Sporth by a fellow named Paul Batchelor. Pretty cool stuff. He's going in different directions nowadays I think, but stil livecoding tools.
Sounds interesting! Will check it out. My language is closer to Forth; I borrowed ways of making code terser from k mostly, but I like the way of not having variables (when possible) without making too much off a mess. And the way k does that feels inelegant to me somehow.

Edit: Live coding really helps though; the whole Bret Victor thing and Light table etc but also many artists and game devs before that, know that you want sculpt your ideas first before you stabilize them. Aka you want spreadsheet programming but when you have more or less what you want, you want to 'upgrade' that code so it's not 'spreadsheet programming' anymore. We have the first (live coding environments, usually for art, Forth etc), we have the middle (REPLs, Lisp) and we have the last part (strongly typed languages and even formal verified programming), but we don't have something that flows from begin to end without having to rewrite everything every stage. I think Lisp / Clojure fans believe they do have this, but I don't find it convincing (although I love coding in Lispy's). I feel Forth has the 'beginning' down much more than Lisp, but moving from a 'working' mess to something stable and then to something rocksolid is not so easy. I keep experimenting.

I can't go back and edit the spelling error, thanks anyway.

I use J daily on my desktop as a calculator, and for more involved calculations. I am a senior project manager/technical designer/business developer at an engineering firm in the their Entertainment department. We do rock concerts, Broadway, film, live events, theme parks, stage machinery, art installation engineering and more. J is like my quicker-than-Excel-tryout-space. I have developed more mathematically-heavy applications in it, but when the need is for something beyond J's strengths of array handling and beautiful succinctness, I reach for Lisp for developing more of what people call apps, but they are for my sole use. Particularly SBCL. I also use Emacs Lisp a lot, since I am in Emacs all day for org-mode, writing, coding and LaTex. I am addicted to Emacs. It is the Lisp Machine for me until another is developed, or I can afford a relic.

I picked up Shen [1] a few years back to keep me from straying to far into Haskell/Idris, and I am working through The Book of Shen 3rd Edition. I had looked into Wasp Lisp years ago for fun, but I am now looking more into it since Chris Double ported Shen (and with it Klambda) over to the Wasp Lisp [2]. It made me leave any studies I started of Erlang or LFE, since my focus is on networking and distributed computing as a hobby. I always stay up to date with Racket, and use it for procedural geometry generation using Rosetta [3] instead of Rhino and Grasshopper. I actually used it to generate procedural truss for a sphere and then exported the centerlines to run analysis on the structure in RISA 3D [4].

I like to fiddle with Extempore for livecoding, but I am a mere dilettante [5]

  [1]  http://shenlanguage.org/
  [2]  https://github.com/doublec/shen-wasp
  [3]  http://web.ist.utl.pt/antonio.menezes.leitao/Rosetta/tutorials/introduction.html
  [4]  https://risa.com/p_risa3d.html
  [5]  https://github.com/digego/extempore
Have you dabbled with Julia [1] before? It sounds like it might be right up your alley. It's not a lisp, but it's very "lispy" in a lot of ways, and it's focused on scientific/numeric computing with an active community focused on the same. The creators also mentioned J as an influence I believe, though I haven't used J myself, so I can't comment on that.

[1] https://julialang.org

Yes I have. J and Wasp Lisp are tiny ecosystems, and I like that a lot about them. Julia is trying to be a Matlab replacement and a whole lot more. I'm going to wait until it matures. I'm teetering on Zig and Rust for my C replacement and as a hook into J’s libraries, or a Wasp VM written in Rust.
Thanks for reply!