[HN Gopher] HTML, the Programming Language ___________________________________________________________________ HTML, the Programming Language Author : recursivedoubts Score : 184 points Date : 2023-12-04 16:57 UTC (6 hours ago) (HTM) web link (html-lang.org) (TXT) w3m dump (html-lang.org) | recursivedoubts wrote: | i made this | jakelazaroff wrote: | extremely cursed. great job | arp242 wrote: | How many people have bought the shirt? | recursivedoubts wrote: | looking now... so far 0 (zero) people | | still optimistic! | scop wrote: | It's my birthday today so I might just not buy myself a | little something. | toasterlovin wrote: | should be at least 1 now | arp242 wrote: | Hm, I'd order one, but unfortunately your form doesn't use | proper ISO-8859-1 encryption so I'm a bit wary. It's always | best to use ISO standards. | recursivedoubts wrote: | update: 4 (four) people! | arp242 wrote: | So how high is my sales commission? | krapp wrote: | Thanks, I hate it. | recursivedoubts wrote: | :heart-hands: | protopete wrote: | Hey I noticed that the division code example is using the "ul" | tag instead of the "div" tag. Thanks! | | Edit: nevermind, but the comment still says "This ul tag" | recursivedoubts wrote: | just pushed another fix! | dullcrisp wrote: | In the setting properties example I think it should be | <rp>body</rp> rather than <cite>body</cite>. | chubot wrote: | Uh, why call it HTML? Why not call it HTML-Stack or something? | | It's not HTML, but a language using HTML syntax. | recursivedoubts wrote: | it's not called HTML | | it's called HTML, the programming langauge | | (sometime I use "HTML" just to keep things shorter) | jakelazaroff wrote: | How about HTML: Turing-complete Machine Language | recursivedoubts wrote: | HTMLTML has a nice ring to it! | chalsprhebaodu wrote: | I'd shorten it to just HTML at that point, where the H is | short for HTML: | | _H_ TML: _T_ uring-complete _M_ achine _L_ anguage | recursivedoubts wrote: | ah, a good idea | | i mean, who knows, maybe that's what HTML in HTML, the | programming language stands for! | alexpetros wrote: | I think we need to save that for HTML, The Markup | Language | PrimeMcFly wrote: | So, HTPL then. | syndicatedjelly wrote: | It's web dev, the best way to get adoption is to trick people | into using your stack | scop wrote: | Is this "HTML-based" or "HTML, based"? | moritzwarhier wrote: | <output> is an obscure tag that I think allows to exploit | accidental turing completeness similar to the checkbox hack. | | Or is it? I once considered using that tag for some price | calculator widget, but it couldn't even replace a div because | of styling issues or something. | | That being said, I spent like half a minute trying to figure | out the point of this post and then lost interest... | | Will try again, was hoping for a funny Rube Goldberg machine | instead of T-shirt merchandise. | | So nah, it's about as "based" as blogging about JS frameworks | IMO. | 51Cards wrote: | Giving me memories of tag based Coldfusion days. | SpaceL10n wrote: | Same. I liked ColdFusion for what it was, but I also don't miss | it. The spaghetti code I had to fix is what I remember most. | While spaghetti code isn't a unique problem to CF, it is made | so much harder to fix when you don't have a debugger and you | can't right-click to find references. The horrors of endlessly | nested cfloops inside cfifs with cfaborts and cflocation tucked | away wherever the programmer needed it. never again! | IroncladDev wrote: | Extremely based | asplake wrote: | I thought the s tag was for sarcasm | xnx wrote: | As long as we're creating confusing names, are there any | Hypertext Machine Learning projects (HTML)? | laurent_du wrote: | Finally I can use html on the frontend and the backend! I am | adding a "full-stack html" badge to my Linkedin account right | away. | dexwiz wrote: | Would an HTML template system written in HTML lang be | considered bootstrapping? | rob wrote: | Personally I'm using CSS [0] on the backend, but might switch | it out for HTML. It'd be cool to use the same technology for | both. The CSS+HTML combo has some big limitations. | | [0] https://dev.to/thormeier/dont-try-this-at-home-css-as-the- | ba... | xupybd wrote: | Now the discussion around HTML being a programming language gets | really muddy. | | Thanks to "a slightly unhinged man living in montana" | TremendousJudge wrote: | Reminds me of xkcd's Frankenstein: https://xkcd.com/1589/ | MikeTheGreat wrote: | The best part is how they have to keep repeating "HTML, the | programming language" or "HTML, the markup language" everywhere | in an attempt to keep things clear :) | | It would be awesome if they were using some sort of macro system | / templating engine to consistently expand {{html_prog}} and | {{html_markup}} just to keep it straight while they're writing | it. | | Thank you for posting this, it made my day a bunch brighter! | jraph wrote: | > It would be awesome if they were using some sort of macro | system / templating engine to consistently expand {{html_prog}} | and {{html_markup}} just to keep it straight while they're | writing it. | | You could use the <template> tag. <template | id="my-macro-name"> <!-- some operations --> | </template> | | To use it: <source src="my-macro-name"/> | | Using source to look familiar to bash users because why not. | recursivedoubts wrote: | By the way, you can implement in HTML, the programming | language, because it is extensible! | | https://html-lang.org/#extending | paulddraper wrote: | Maybe even <script src="my-macro-name" | type="macro"></script> | gorgoiler wrote: | HTPL? | | I appreciate their joke, but "HyperText Markup Language, the | markup language" is a little redundant. | | Some of us have had to include XSLT programming in our careers. | We have seen into the dark abyss... and been paid to do it! | paulddraper wrote: | It's "HTML" aka "HTML Turing-complete Markup Language" | droptablemain wrote: | Meme languages are getting out of hand. | dexwiz wrote: | Why is the iterator implemented as a GOTO instead of something | like the following? Genuine question, I don't use stack based | langs. <loop> <loop-statement></loop- | statement> </loop> | recursivedoubts wrote: | in designing HTML, the programming language, i tried to stay as | close as possible to existing semantics in HTML, the markup | language, as I could, so that HTML, the markup language, | developers would be comfortable with it in a minimum amount of | time | | most HTML, the markup langauge, developers are used to anchor | tags (i.e. the <a> tag) with an href that begins with a hash | "jumping" to that element. Therefore I decided to take that | well known semantic and integrate it into HTML, the programming | language. | | there are multiple examples of loops using this (as well as the | <i> "if" conditional) tag that I think show how intuitive this | will be for most HTML, the markup language, developers, but of | course research is ongoing in this and other matters | dexwiz wrote: | I guess I don't really think of HTML as "sequential" but I | definitely do think of it as "composed." Meaning I don't | often consider siblings elements, but I often do consider | parent/child elements. Anchor tags that link to other parts | of the doc are relatively rare compared to links to other | docs. The only exception is stuff like schema definitions or | reusable shapes in SVGs. | | Either way, fun project! | recursivedoubts wrote: | research ongoing! | PrimeMcFly wrote: | > Genuine question, I don't use stack based langs. | | How and why not? What languages do you use? | dexwiz wrote: | Common ones like JavaScript, Java, C#, etc. They all have a | stack, but aren't stack oriented like Assembly or Forth. The | stack in modern languages is abstracted so you don't have to | worry about pushing/popping values in a specific order, and | you can't explicitly reference it. C and Rust is probably the | closest I get with Heap v Stack memory, but even that is not | truly stack oriented. | | https://en.wikipedia.org/wiki/Stack-oriented_programming | PrimeMcFly wrote: | Ah gotcha. Thanks. | toasterlovin wrote: | Was literally reading that wikipedia page last night before | bed, so this is all very timely for me. | wds wrote: | Everybody's so creative! | pier25 wrote: | > _This was revealed to me in a dream_ | toddmorey wrote: | I'm going to make it my career mission to build something on this | that you have to maintain, recursivedoubts | recursivedoubts wrote: | based | jawerty wrote: | Super fun! Great work. | layer8 wrote: | Should have called it HTPL. | | That already exists, though: https://esolangs.org/wiki/HTPL | pvcsd wrote: | This is the programming language of the century | recursivedoubts wrote: | btw, this is a working programming language and there is an | example of fib() | | https://html-lang.org/#example | | and live demo at the bottom: | | https://html-lang.org/#live-demo | | that runs disturbingly fast given the implementation is an | inefficient recursive algo | | computers are fast | owenpalmer wrote: | JavaScript, the Markup Language | lioeters wrote: | div({ class: 'example' }, [ p('Hello, ', [ | b('world!) ]) ]) | hoosieree wrote: | Still better than YAML. | gemstones wrote: | One suggestion - it would be really cool to allow FFI. Something | like <script type="text/javascript"> | const foo = (bar) => { document.getElementById('my- | element'); // More here! }; | </script> | | That way you could really leverage the full power of HTML, the | programming language! | cantSpellSober wrote: | The contents should be wrapped in a dangerouslySetInnerJS attr | to prevent XSS | _a_a_a_ wrote: | "... the html.js file ..." | | Jesus. As a lover of plain HTML and a hater of JS, my head just | burst and painted the walls. | makach wrote: | ...what in the befunge? | 3cats-in-a-coat wrote: | HTML is nested lists of named nodes with attributes... well. | | LISP has done more, with less. | notnmeyer wrote: | who can i sue over this? im outraged | culi wrote: | eychtee emel | klibertp wrote: | ...now I'm starting to wonder whether htmx and _hyperscript are | similar to this, just disguised better...? And I was seriously | considering using htmx for one thing, too. | fabiancook wrote: | > Footnotes: > This was revealed to me in a dream. > HTML: the | programming language is brought to you by big sky software | | Is the same big sky software :) | | Had seen this pop up on github.. https://github.com/1cg/html.js | dewey wrote: | Look at the footer, the site is connected to htmx | ivanjermakov wrote: | I did something similar for fun in uni: HTPL[1]. | | Basically, HTML->Python transpiler. | | [1]: | https://github.com/Koous61/htpl/blob/master/example/scratch.... | GuB-42 wrote: | Interestingly, since it is actually XML, you could take advantage | of all the XML features. A XSD may be able to encode the language | grammar, and with XSLT, get some nice rendering. | | Of course, the parser is just a DOM parser, which is built in | browsers and that's what the interpreter is using. But if you | want to write a standalone compiler for it, just take an off the | shelf XML DOM parser and you have your AST. | dejawu wrote: | This almost reads like a deconstruction of my favorite | explanation of Lisp: https://www.defmacro.org/ramblings/lisp.html | | The explanation basically uses an AST that's apparent to the user | to explain the language - and this is a language built on an AST | whose structure is apparent to the user. I love it and will | definitely be turning the idea over in my head for the next few | days. | mrighele wrote: | Maybe I am mistaken but it seems to me that the stack is | implemented with a Javascript. I am a bit disappointed, in the | sense that the stack too could have been implemented as a a list | of tags in the containing document. | | This would enable interesting features such as visual debugging | (you just check the document to see the status of the program) | and more importantly would enable the "code as data" paradigm, | giving us easy metaprogramming and essentially a "lisp with | brackets" | | (Yes, I am not being completely serious) | hardkorebob wrote: | Lets keep filling the internet with ..... | DistractionRect wrote: | It's too early in the week, and I'm too sober for this. | | My one nit, is the lack of static typing. I'm not a fan of | radically changing the direction of a project, so instead of | baking it into HTML, the Programming Language I suggest the | TypeScript route. Something like a hypertext typed programming | syntax, HTTPS, to compile to HTML, the Programming Language. | imhoguy wrote: | The next challenge - let it run itself: <script | src="html.html"></script> | objektif wrote: | Not enough. Wake me up when I can rewrite my C code in XML. | g9yuayon wrote: | I remember in the hay days of XML, someone made an article that | discussed why XML is really just a language of S-expressions. | This article seems argue something similar. | | P.S., S-expression or not, XML-based DSLs are horrible. I don't | know how many people have PTSDs using ANT or a slew of commercial | "user-friendly" DSLs for test automation, process automation, and | etc. It turns out the companies just didn't know how to design | small programming languages and certainly lacked of compiler- | writing skills. | k__ wrote: | I remember JSX examples that went in this direction. | xtagon wrote: | Yes but how do I use WebAssembly as a markup language? | eagle2com wrote: | How am I supposed to complete the LinkedIn quizz for HTML (the | programming language) when the documentation states that <bdo> | will result in values "anded" together >:( | jayknight wrote: | Ok, I guess I'll do Advent of Code in HTML, the Programming | Language this year... ___________________________________________________________________ (page generated 2023-12-04 23:00 UTC)