frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Human-Oriented Markup Language

https://huml.io/
34•vishnukvmd•3h ago

Comments

bmn__•2h ago
ctrl+f grammar

Term not found.

xpe•2h ago
Me like teh grammarz 2. Plays 4 author someday could put at https://github.com/huml-lang then it slay
xpe•2h ago
> Provide as few ways as possible—preferably one—of representing something.

TRUTH!

Or, expressed in YAML 1.1 [1]

    y
    Y
    yes
    Yes
    YES
    true
    True
    TRUE
    on
    On
    ON
As expressed in YAML 1.2 [2]:

    true
jameskilton•2h ago
I couldn't help but notice almost immediately one feature that is not human oriented, but most likely exists because it's easier for a machine to parse: single (":") vs double colon ("::"). This is not human-friendly. A human wants to write "key" "is" "value", and YAML has for a very long time supported a single ":" for "is" regardless of the actual type of the value.

I shouldn't have to care about what the type of the value is when writing out effectively YAML. This double-colon feature will do nothing but lead to bug reports from people confused as to why their document is invalid.

xpe•2h ago
Language design often involves subjective tradeoffs. The author gives their rationale here: https://huml.io/specifications/v0-1-0/#why
LordDragonfang•1h ago
Slightly off-topic, but I find the text of that anchor fragment amusing ("why? just why?") and a little disappointing. Automatic CMSs have robbed us of attention to detail - that anchor (for "Why `::`?") should probably be changed to `why-double-colon`.
Sohcahtoa82•2h ago
The double-colon is probably a necessity to disambiguate a scalar from an inline list that only has one scalar.

For example `x: 3` would be equivalent to `"x": 3` in JSON, but `x:: 3` is equivalent to `"x": [3]`

jampekka•2h ago
I find this very human-friendly: "[double colon] permits vectors to be defined inline without additional syntax such as [ ... ] or { ... }."

(One could question how human friendly it is to call lists and dicts "vectors" though...)

https://huml.io/specifications/v0-1-0/#why

sippeangelo•1h ago
It's especially clear in the "inline dict" example. I really like it!

  props:: mime_type: "text/html", encoding: "gzip" # Inline dict.
OJFord•21m ago
But that's not done for human readability, that's done for machine parsing? A human would understand just as well:

  props: mime_type: "text/html", encoding: "gzip" # Inline dict.
xpe•2h ago
The comment above gives explanations defending subjective preferences about what "human oriented" means. That's fine as long as you remember that is what is happening: justification of subjective preferences. Other people can reasonably (or unreasonably) have different subjective preferences.

Also notice what the commenter above haven't done (yet, maybe they will?): done a full "forest level" comparison of all the trade-offs between the current HUML specification and ... what is your alternative proposal, exactly?

Based on my experience, I would guess that most people who design a language (and written a parser for it) for the first time will: (1) be surprised at how quickly design decisions snowball and lead to unexpected places; (ii) discover just how entangled design choices really are; (iii) will give up on trying to please everyone.

In my view, a language designer does really well to describe one's motivations, goals, tradeoffs, decisions, and then live with what you make, because... (a) making something real and useful is rad and (b) any language you make will probably have some weird stank you can't seem to get rid of.

vczf•1h ago
The clear distinction between scalars and vectors appears to be the main advancement HUML offers.

I think it’s a neat improvement.

JoBrad•58m ago
I found that example to be humerous, but specifically compared to the goals:

> Provide as few ways as possible—preferably one—of representing something.

Very Pythonic. Especially since representing a dict already has 2 ways, on the first page!

inerte•45m ago
Maybe the plural of "is" is "are" :)

But why double the character instead of picking another one... plenty of other non-alphanumeric characters to chose from.

debo_•18m ago
I think we should have a name for the often undue examination and analysis of colon/semicolon usage in machine languages. I volunteer the name "colonoscopy."
troupo•2h ago
"Human readability and editability above all else" would not chose significant whitespace for a markup language. IMO.

Or restrictions like "only one space allowed after : before a value"

ssivark•37m ago
On the contrary, such strictness makes it easy to lint / auto-format HUML.
didip•2h ago
Why not just use YAML?
vedmakk•1h ago
Because of the reasons presented in the actual article that was posted by op...
captn3m0•2h ago
Some context, this was launched at IndiaFOSS[0] yesterday

25 minute talk at https://www.youtube.com/live/AUrPdOZNsX8?feature=shared&t=13... (starts 3h:52)

The talk proposal is at https://fossunited.org/c/indiafoss/2025/cfp/arsnhack6n

And it primarily tries to avoid YAML horrors : https://noyaml.com/ and https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-fr....

[0]: https://fossunited.org/indiafoss/2025

beckford•1h ago
For something like this I would love to see a formal spec to go along with the examples.
Jolter•1h ago
I do appreciate that they lead with the examples. They convey 90% of the important information. TBH, having worked with yaml just enough to get by with k8s deployments, I could immediately spot how this would be an improvement.
beckford•1h ago
Yeah, I don't disagree. I'd go further and say the examples are on-point for a "human oriented" language. But the formal spec reveals how simple or complicated this language is. (And I'm also writing this from the perspective of someone who uses a programming language that does not have a HOML implementation).
LordDragonfang•1h ago
I was googling for the repo, and it looks like this project has a name collision with an 11-year-old, 3-star repo: https://github.com/shelling/huml
NoSalt•1h ago
This is the main reason why YAML and Python are bad. Give us CLEAR beginnings and ends to code statements and blocks, not these dubious beginnings and ends. Ignore white space and use clear EOL delineation. Clearly, XML and JSON are superior to YAML and even this weird-looking HUML. Not to mention almost any other language syntax being superior to Python.
kelvinjps•19m ago
I think it's a preference? I find both Python and YAML to give clear beginnings and ends using whitespace, and you can also see it visually.
xg15•1h ago
JSON5 allows comments.

Can someone explain to me what is so horrible about curly braces that we need to implement a whole host of "human-oriented" configuration languages with nontrivial parsing just to get around them?

tracker1•1h ago

    s/JSON/YAML/g
    s/curly braces/whitespace/g
sigmonsays•1m ago
I prefer curly braces. My editor has all sorts of comments to jump between opening and closing curly braces. This is not possible with whitespace.
slowmovintarget•48m ago
Posting a link to the XKCD comic would be a cliche at this point, yes?
romperstomper•47m ago
yeah, the 15th standard.. https://xkcd.com/927/ :)
kelvinjps•16m ago
Wasn't this solved by yaml 1.2?

OpenAI and Nvidia announce partnership to deploy 10GW of Nvidia systems

https://openai.com/index/openai-nvidia-systems-partnership/
258•meetpateltech•2h ago•297 comments

A collection of technical things every software developer should know about

https://github.com/mtdvio/every-programmer-should-know
16•redbell•37m ago•5 comments

PlanetScale for Postgres is now GA

https://planetscale.com/blog/planetscale-for-postgres-is-generally-available
193•munns•3h ago•97 comments

Cloudflare is sponsoring Ladybird and Omarchy

https://blog.cloudflare.com/supporting-the-future-of-the-open-web/
430•jgrahamc•5h ago•266 comments

SWE-Bench Pro

https://github.com/scaleapi/SWE-bench_Pro-os
58•tosh•2h ago•12 comments

A board member's perspective of the RubyGems controversy

https://apiguy.substack.com/p/a-board-members-perspective-of-the
52•janpio•2h ago•27 comments

A simple way to measure knots has come unraveled

https://www.quantamagazine.org/a-simple-way-to-measure-knots-has-come-unraveled-20250922/
80•baruchel•4h ago•35 comments

The Beginner's Textbook for Fully Homomorphic Encryption

https://arxiv.org/abs/2503.05136
128•Qision•1d ago•21 comments

Choose Your Own Adventure

https://www.filfre.net/2025/09/choose-your-own-adventure/
8•naves•40m ago•0 comments

Mentra (YC W25) Is Hiring to build smart glasses

1•caydenpiercehax•2h ago

Qwen3-Omni: Native Omni AI Model for Text, Image & Video

https://github.com/QwenLM/Qwen3-Omni
13•meetpateltech•1h ago•1 comments

Cap'n Web: a new RPC system for browsers and web servers

https://blog.cloudflare.com/capnweb-javascript-rpc-library/
188•jgrahamc•5h ago•82 comments

Morgan and Morgan takes Disney to court over 'Steamboat Willie' in ads

https://www.clickorlando.com/news/local/2025/09/17/morgan-morgan-takes-disney-to-court-over-right...
42•wrayjustin•2d ago•25 comments

Easy Forth (2015)

https://skilldrick.github.io/easyforth/
150•pkilgore•7h ago•80 comments

CompileBench: Can AI Compile 22-year-old Code?

https://quesma.com/blog/introducing-compilebench/
101•jakozaur•6h ago•34 comments

What is algebraic about algebraic effects?

https://interjectedfuture.com/what-is-algebraic-about-algebraic-effects/
56•iamwil•4h ago•22 comments

Show HN: Python Audio Transcription: Convert Speech to Text Locally

https://www.pavlinbg.com/posts/python-speech-to-text-guide
4•Pavlinbg•44m ago•0 comments

A New Internet Business Model?

https://blog.cloudflare.com/cloudflare-2025-annual-founders-letter/
167•mmaia•3h ago•162 comments

Testing is better than Data Structures and Algorithms

https://nedbatchelder.com/blog/202509/testing_is_better_than_dsa.html
20•rsyring•2h ago•6 comments

Appleii Air Attack.BAS

https://basic-code.bearblog.dev/applesoft-air-attackbas/
4•ibobev•3d ago•0 comments

Beyond the Front Page: A Personal Guide to Hacker News

https://hsu.cy/2025/09/how-to-read-hn/
143•firexcy•9h ago•64 comments

SGI demos from long ago in the browser via WASM

https://github.com/sgi-demos
203•yankcrime•10h ago•53 comments

The Strange Tale of the Hotchkiss

https://www.edrdg.org/~jwb/mondir/hotchkiss.html
17•rwmj•1d ago•2 comments

AI-Generated "Workslop" Is Destroying Productivity

https://hbr.org/2025/09/ai-generated-workslop-is-destroying-productivity
33•McScrooge•55m ago•5 comments

Diffusion Beats Autoregressive in Data-Constrained Settings

https://blog.ml.cmu.edu/2025/09/22/diffusion-beats-autoregressive-in-data-constrained-settings/
4•djoldman•41m ago•1 comments

The American Nations regions across North America

https://colinwoodard.com/new-map-the-american-nations-regions-across-north-america/
61•loughnane•3h ago•78 comments

California issues historic fine over lawyer's ChatGPT fabrications

https://calmatters.org/economy/technology/2025/09/chatgpt-lawyer-fine-ai-regulation/
74•geox•2h ago•40 comments

Human-Oriented Markup Language

https://huml.io/
34•vishnukvmd•3h ago•33 comments

Dear GitHub: no YAML anchors, please

https://blog.yossarian.net/2025/09/22/dear-github-no-yaml-anchors
148•woodruffw•4h ago•117 comments

Anti-*: The Things We Do but Not All the Way

https://blog.jim-nielsen.com/2025/my-antis/
35•gregwolanski•3h ago•13 comments