Hacker News new | ask | show | jobs
by kaikalii 997 days ago
Oh hey, I made this. Cool to see it at the top of HN!
6 comments

The arrows that iterate through the steps is great UX. I'm new to both array and stack based programming and it was pretty intuitive.

How would I go about file i/o and parsing json? I have a data processing benchmark[1] that I'd like to use this for.

[1] : https://github.com/jinyus/related_post_gen

I want to suggest an alternative encoding/notation where instead of single (very nicely chosen) Unicode codepoints, the operators are single (perhaps less well-suited) printable ASCII characters. This would make the language into its own, human-authorable, bytecode!
Like k
Visually would look kind of like K, yes; but K (obviously) isn't a stack language, and more importantly, K has operators that consist of multiple characters, and circumfix operators like {}, etc. So it really has none of the qualities that a bytecode has. Whereas Uiua/ASCII would have all of the qualities that a bytecode has.
Does Uiua still have to do some parsing for parenthesis for functions?
It looks unlike anything I've ever seen before. Are there any other languages that use glyphs so heavily? What was your inspiration? I have no idea how I would use this language, but it's put a smile on my face. Amazing work.
> Are there any other languages that use glyphs so heavily?

APL (the first, invented in the 1960s): https://en.wikipedia.org/wiki/APL_(programming_language)

BQN (a modern APL, looks like an inspiration for Uiua though I don't know): https://mlochbaum.github.io/BQN/

Too many smaller esoteric languages to count.

> Are there any other languages that use glyphs so heavily?

This is the case with most of the languages in the APL family, but especially APL [1] and BQN [2].

[1] https://en.wikipedia.org/wiki/APL_(programming_language)

[2] https://mlochbaum.github.io/BQN/index.html

Love the `?` "wut" for conditionals :)

I shall call all instances of ternary conditionals "wut" statements now.

I hate right to left. In my mind functions act from the right. They are even denoted with a little arrow pointing left to right. Thank god OOP methods, UFCS and streams/pipes and nearly everything goes from left to right, top to down. (AFAIK not long ago some algebraists tried to do algebra, linear algebra and category theory left to right, so f:A->B and g:B->C would compose to fg/fog/f.g.. :A->C. But probably they do it less nowadays, the attempt failed, and math remains right to left.)

Why is Uiua right to left?

Probably this way you can have sequential and anti-sequential parts without parentheses?
Interesting to see this was programmed in Rust. Out of curiosity, any intention to make it self-hosting at some point?
I really like the multimedia output! That's an extremely cool feature.