Hacker News new | past | comments | ask | show | jobs | submit | gavinhoward's comments login

> I hope to see more "sugar" in languages to take advantage of calling out to other programs for help.

How about [1] and [2]?

My language has those because its first program was its own build script, which requires calling out to a C compiler. It had that before printing to stdout.

Turns out, that made it far more powerful than I imagined without a standard library. Calling out to separate programs is far better than a standard library.

[1]: https://git.yzena.com/Yzena/Yc/src/commit/95904ef79701024857...

[2]: https://git.yzena.com/Yzena/Yc/src/commit/95904ef79701024857...


This is absolutely a valid reason to not use GnuCash.

As for myself, I agree that the XML format is not great, but I use the SQLite format, which allows me to write scripts on it.


You can write scripts to transform XML documents as well.

True, but I don't want to. And that is the biggest barrier of all.

I was going to say what GP said, but, yeah, XSLT is just no fun to write by comparison to SQL.

Hardly anybody was using XSLT even when XML was all the rage. Python scripts work just fine.

XSLT 1 was very limited. XSLT 2 was too late. That's my take. I actually like XSLT 2, but it's so verbose... -- it's horrible.

Once in a while I dream of adding proper XML support to jq just to be able to use jq as a pithy alternative to XSLT.


XQuery is easier and can be fun to use!

> Serious mode off. When will we get Yao in the Linux kernel?

As soon as someone pays me long enough to get it there. :)

I only have 3 hours max a day (usually only 2) to work on Yao. And I have other projects I want to do as well.

But if someone paid, I sure could find the desire to work on it.


The post answers that.

Every unmarked function can do anything. If you add a new thing that functions can do, you assume unmarked functions can do it (even if they don't), and you add a trait for the negative.


Thanks, I got interrupted in my reading.

I only have one Perl script in that repo...

Anyway, Yzena is my business. I am not a very good marketer, and the website is bad.

I also don't think I will get any business, but eh.


Programs written in Yao.

If the goal is portability, Google pursued the idea of distributing cross-platform LLVM IR via PNaCl and ultimately abandoned it, because LLVM IR isn't really designed for portability.

I designed my own, uncreatively called Yvm. Yao already compiles to it.

Good question.

Yao's concurrency will be explicit. You will not get concurrency unless you open a threadset and spawn threads. Yao scripts run in a single thread by default.

I focused on solving the concurrency problem because if it is solved, single thread code is solved as well.


Fair criticisms, John. I just want to address macros.

Yao has something like Rust's macros. They are called "keywords," because even the built-in keywords are implemented that way. (That is why Yao can just not have a `while` keyword.)

My Yao-based build system, Rig, uses keywords to implement a build DSL. [1]

And keywords are fast to compile.

[1]: https://rigbuild.dev/build.rig5/#keywords


Please don't jump to Yao! The only thing it's good for right now is to replace shell scripts.

I wish I could upvote you twice.

I decided on my values because of bcantrill's talk. Everyone should watch it.

A more complete list of my values is at https://git.yzena.com/Yzena/Yc/src/branch/master/docs/adl/00... .


Could you elaborate on value #0 being users (and what it means to prioritize users over programmers)?

Good question. I will add that.

It means that users' convenience comes before my convenience. (I am the programmer in question.)

This means that if there is something I could do to make things easier on users, I do it, even if it is a lot more work for me.

An example is https://git.yzena.com/Yzena/Yc/commit/c9086af225d42b2f125959... . Comments in Yao do not use the `#` character, but I added the shebang to the parser specially so that scripts could be run just like any others scripts.


This is nice to see. I often came across opposite sentiment here. "Dev time is precious, user is OK with un-performant/etc. software."

Thank you for your kind words!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: