9 ms·
HTML, the Programming Language
- _lvbh 3y agoIsn’t this just an XML language interpreted by JavaScript that just so happens to look like HTML? And here I was hoping for someone to have discovered a way to make HTML Turing complete
- recursivedoubts 3y agoi made this
- jakelazaroff 3y agoextremely cursed. great job
- arp242 3y agoHow many people have bought the shirt?
- recursivedoubts 3y agolooking now... so far 0 (zero) people still optimistic!
- scop 3y agoIt's my birthday today so I might just not buy myself a little something.
- toasterlovin 3y agoshould be at least 1 now
- arp242 3y agoHm, 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 3y agoupdate: 4 (four) people!
- arp242 3y agoSo how high is my sales commission?
- recursivedoubts 3y ago$0!
- krapp 3y agoThanks, I hate it.
- recursivedoubts 3y ago:heart-hands:
- protopete 3y agoHey 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 3y agojust pushed another fix!
- dullcrisp 3y agoIn the setting properties example I think it should be <rp>body</rp> rather than <cite>body</cite>.
- recursivedoubts 3y agothank you fixed!
- chubot 3y agoUh, why call it HTML? Why not call it HTML-Stack or something? It's not HTML, but a language using HTML syntax.
- recursivedoubts 3y agoit's not called HTML it's called HTML, the programming langauge (sometime I use "HTML" just to keep things shorter)
- jakelazaroff 3y agoHow about HTML: Turing-complete Machine Language
- recursivedoubts 3y agoHTMLTML has a nice ring to it!
- chalsprhebaodu 3y agoI’d shorten it to just HTML at that point, where the H is short for HTML: HTML: Turing-complete Machine Language
- recursivedoubts 3y agoah, a good idea i mean, who knows, maybe that's what HTML in HTML, the programming language stands for!
- fuzztester 3y ago>ah, a good idea nah, a GNU (new) idea
- alexpetros 3y agoI think we need to save that for HTML, The Markup Language
- scop 3y agoIs this "HTML-based" or "HTML, based"?
- moritzwarhier 3y ago<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.
- recursivedoubts 3y agowell that's no fun
- 51Cards 3y agoGiving me memories of tag based Coldfusion days.
- SpaceL10n 3y agoSame. 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 3y agoExtremely based
- asplake 3y agoI thought the s tag was for sarcasm
- srosex 3y ago</sarcasm>
- xnx 3y agoAs long as we're creating confusing names, are there any Hypertext Machine Learning projects (HTML)?
- laurent_du 3y agoFinally 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 3y agoWould an HTML template system written in HTML lang be considered bootstrapping?
- rob 3y agoPersonally 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-backend-what-3oih https://dev.to/thormeier/dont-try-this-at-home-css-as-the-ba...
- dullcrisp 3y agoIt would also be cool if someone would explore CSS for the frontend. I think isomorphic CSS could be a really neat stack. Edit: I actually think I recall some pure-CSS frontend examples. We might just need to combine that with backend CSS technologies. Edit edit: Probably the biggest issue will be to prevent the server from evaluating the CSS fully but maybe something like what Next.js does with server and client components could work here.
- xupybd 3y agoNow the discussion around HTML being a programming language gets really muddy. Thanks to "a slightly unhinged man living in montana"
- TremendousJudge 3y agoReminds me of xkcd's Frankenstein: https://xkcd.com/1589/ https://xkcd.com/1589/
- MikeTheGreat 3y agoThe 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!
- deleted 3y ago[deleted]
- jraph 3y ago> 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 3y agoBy the way, you can implement in HTML, the programming language, because it is extensible! https://html-lang.org/#extending https://html-lang.org/#extending
- paulddraper 3y agoMaybe even <script src="my-macro-name" type="macro"></script>
- gorgoiler 3y agoHTPL? 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!
- crdrost 3y ago
- droptablemain 3y agoMeme languages are getting out of hand.
- dexwiz 3y agoWhy 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 3y agoin 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 3y agoI 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 3y agoresearch ongoing!
- PrimeMcFly 3y ago> Genuine question, I don't use stack based langs. How and why not? What languages do you use?
- 3y ago
- wds 3y agoEverybody's so creative!
- pier25 3y ago> This was revealed to me in a dream
- deleted 3y ago[deleted]
- toddmorey 3y agoI’m going to make it my career mission to build something on this that you have to maintain, recursivedoubts
- recursivedoubts 3y agobased
- jawerty 3y agoSuper fun! Great work.
- pvcsd 3y agoThis is the programming language of the century
- layer8 3y agoShould have called it HTPL. That already exists, though: https://esolangs.org/wiki/HTPL https://esolangs.org/wiki/HTPL
- recursivedoubts 3y agobtw, this is a working programming language and there is an example of fib() https://html-lang.org/#example https://html-lang.org/#example and live demo at the bottom: https://html-lang.org/#live-demo https://html-lang.org/#live-demo that runs disturbingly fast given the implementation is an inefficient recursive algo computers are fast
- owenpalmer 3y agoJavaScript, the Markup Language
- hoosieree 3y agoStill better than YAML.
- gemstones 3y agoOne 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 3y agoThe contents should be wrapped in a dangerouslySetInnerJS attr to prevent XSS
- recursivedoubts 3y agoHTML, the programming language, is fully interoperable w/ JavaScript, the programming langauge (sic): https://html-lang.org/#js https://html-lang.org/#js functions defined in HTML, the programming language, can be invoked by JavaScript, the programming language (sic) and vice versa.
- _a_a_a_ 3y ago"... 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 3y ago...what in the befunge?
- 3cats-in-a-coat 3y agoHTML is nested lists of named nodes with attributes... well. LISP has done more, with less.
- notnmeyer 3y agowho can i sue over this? im outraged
- culi 3y agoeychtee emel
- klibertp 3y ago...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 3y ago[dead]
- dewey 3y agoLook at the footer, the site is connected to htmx
- klibertp 3y agoYes, I know. I think this "HTML, the programming language" is obviously a joke, so I'm asking whether htmx is also a joke - or an attempt at trolling web devs, more precisely - just disguised better... There is a whole book on htmx, but when it comes to trolling, some people definitely would put this much effort into making their trolling attempts more bulletproof. I'm mostly joking, though. I think htmx is not likely to be a trolling attempt, but it would be absolutely epic if it was :)
- ivanjermakov 3y agoI did something similar for fun in uni: HTPL[1]. Basically, HTML->Python transpiler. [1]: https://github.com/Koous61/htpl/blob/master/example/scratch.html https://github.com/Koous61/htpl/blob/master/example/scratch....
- GuB-42 3y agoInterestingly, 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 3y agoThis almost reads like a deconstruction of my favorite explanation of Lisp: https://www.defmacro.org/ramblings/lisp.html 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 3y agoMaybe 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)
- deleted 3y ago[deleted]
- recursivedoubts 3y agoprogress... not perfection
- fuzztester 3y agos/stack/Slack/ (Neither am I)
- maxwelljoslyn 3y agoI want this too.
- hardkorebob 3y agoLets keep filling the internet with .....
- DistractionRect 3y agoIt'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.
- recursivedoubts 3y agoconsidering a hindley milner type system for the language, but it would be a big lift w/ explicit stack semantics also looking at HTML, the programming language,++, or, possibly, Objective-HTML, the programming langauge, which would be easier to get to and potentially more awful
- ianamartin 3y agoHow about HTML, the programming language, 's Flying Circus with a very powerful yet flexible and optional type hinting system?
- djbusby 3y agoParrot Typing.
- zeckalpha 3y agoYou joke but XQuery isn't too far off
- spindle 3y ago> hindley milner type system for the language Hindley Type Milner Language #ifixeditforyou
- DistractionRect 3y agoWe're just a bit shy of "Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo", but with HTML.
- imhoguy 3y agoThe next challenge - let it run itself: <script src="html.html"></script>
- objektif 3y agoNot enough. Wake me up when I can rewrite my C code in XML.
- g9yuayon 3y agoI 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.
- xtagon 3y agoYes but how do I use WebAssembly as a markup language?
- jayknight 3y agoOk, I guess I'll do Advent of Code in HTML, the Programming Language this year...
- eagle2com 3y agoHow 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 >:(
- recursivedoubts 3y agopushed a fix!
- socketcluster 3y agoI'm really into this HTML web components trend. I built a similar set of primitive HTML components except the focus is to allow interfacing with data from my serverless platform. See https://github.com/Saasufy/saasufy-components#saasufy-components https://github.com/Saasufy/saasufy-components#saasufy-compon... Actually, the elements from this article could complement my own nicely as they seem to provide more fine-grained control. My platform is https://saasufy.com/ https://saasufy.com/ (you can log in with GitHub)
- chrispuska 3y agoIs this a dream.
- AlienRobot 3y ago[flagged]
- dang 3y agoHey, would you mind reviewing https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and sticking to those rules when posting here? You broke them with this comment for sure, and it looks like some of your other comments may be breaking them as well; I haven't read closely enough to be sure, but they seem to be written in more of a flamewar/aggressive style than we're trying for on this site. (p.s. just for clarity - I'm a moderator here.)
- rsolva 3y agoThis is the best kind of trolling, I love it!
- halosghost 3y ago[1] suggests that I should define functions with the `<dfn>` tag, but the documentation appears out-of-date, because the HTML program sample shows using the `<def>` tag. Is the next revision of HTML, the Programming Language, A Programming Language going to cover the difference between the `<dfn>` and `<def>` tags, or deprecate one of them? All the best, [1]: https://html-lang.org/#defining-functions https://html-lang.org/#defining-functions
- recursivedoubts 3y agoit appears there may have been an error in the example (not in HTML, the programming language, which is correct by definition) i tried to fix it
- halosghost 3y agoI appreciate your tireless efforts towards the perfection of HTML, the programming language, as well as its accompanying documentation. Thank you! All the best,
- harel 3y agoI can't not think about ColdFusion and CFML when I see that...
- xyproto 3y agoThis makes conversations that much harder: Mallory: Is HTML a programming language? Bob: No! Well some people think is, but they are wrong! Then again, there is the HTML programming language... Mallory: !???
- guseyn 3y agohttps://e-html.org/html/documentation.html https://e-html.org/html/documentation.html
- replwoacause 3y agoThis is awesome! Can’t believe I haven’t seen it before. Reminds me of HTMX in a way. Did this project come before or after it? Can you differentiate them? I’d like to use this in a hobby project but am not sure how it differs from HTMX. They seem to overlap in some areas?
- guseyn 3y agoI think the biggest difference is that EHTML works more with JSON API rather than with HTML Server Rendering integration.
- replwoacause 3y agoHTMX works with JSON too.
- guseyn 3y agocould you please give a reference?
- willseth 3y agoOh my god, they invented a worse XSLT
- 0x00C0FFEE 3y agoGreat work! I’d love to see a server-side tempting engine written in HTML, the programming language that can be used to send HTML, the markup language files to clients.
- nsonha 3y agois there a point to this? While it's fun to the author, it just reinforces a talking point that no experienced engineer take seriously but kept getting parotted by some people, to the detriment of beginners who believe in them.
- chrismorgan 3y agoNot fond of using single-row tables for objects; definition lists are far more suitable: <dl> <dt>foo<dd><s>Foo</s> <dt>bar<dd><data value=10></data> </dl> You could reasonably leave tables as a way of defining an Array<Object>. Using <dd> for addition and <dt> for duplication just makes me sad. It almost makes be suppose you don’t care about HTML (the markup language) semantics!
- recursivedoubts 3y agogood news! HTML, the programming langauge is completely pluggable so you can redesign it to your own tastes! https://html-lang.org/#extending https://html-lang.org/#extending and, in fact, HTML, the programming language, programs can modify not only themselves, but also the language itself, at runtime! interesting possibilities await you, the programmer of HTML, the programming language!
- n3storm 3y agoI don't think using <dd> as <add> command when add could be used and a dd tag already exists is a good idea. Same with sub, ul, ... The more a I read the page the more it looks like a joke...
- daddysalone 3y agois there any git hub repo for this thing
- 082349872349872 3y agoWorth it for the reference to Über die ästhetische Erziehung des Menschen (1795) alone... https://www.projekt-gutenberg.org/schiller/aesterz/aesterz3.html#:~:text=es%20sei%20mir,Spieltrieb%20zu%20nennen https://www.projekt-gutenberg.org/schiller/aesterz/aesterz3....