<xentrac>but mostly what it would take is will <OriansJ>xentrac: one would say willfulness is common here. <fossy>i would love to get knight implemented but i have very little experience with electronics let alone building a cpu, lol <xentrac>fossy: I illuminated an LED the other day. today I added a power cable to a fan and it ran again for the first time in many years <OriansJ>fossy: sounds like a good excuse to look at IceStorm and think of hardware as software. <xentrac>what are the advantages of the Knight instruction set? <OriansJ>xentrac: fits in head well, can be implemented in 1960s technology and bare metal bootstrap steps to M2-Planet are already done. <xentrac>so if you had a bare metal bootstrap to M2-Planet on Wirth RISC or something that would be better? <OriansJ>xentrac: it would be another potential root of trust (The more the better) <xentrac>that instruction set won't implement itself! <OriansJ>and I have already done Knight, x86, AMD64 and wrote all of the steps for ARMv7l in gas <xentrac>I forget if I asked, how did you like ARM? <OriansJ>xentrac: busy, really not enough time to get the work I want done; done <xentrac>enough time to spend time with your family? <OriansJ>So I am getting the architecture development notes out of my head and into something that other people can improve and expand. <OriansJ>xentrac: mostly nothing but family time today. <OriansJ>xentrac: 20+ hours a day, 7 days a week. <xentrac>are you liking it? or is it getting to be a bit much? <OriansJ>It is hard to do tasks that require focus when you have a crying baby or spouce seeking attention. <OriansJ>Don't get me wrong, I love spending time with them. <OriansJ>But my productivity is taking a serious hit. <OriansJ>Last year I saved the State of Michigan $6.183Million; this year with remote work all but 1 day a month; only $914 Thousand in the last 8 Months. <OriansJ>Not to mention the delays in my stage0 work. <xentrac>yeah, crying babies are intentionally hard to ignore <xentrac>since generally breastfeeding is only done by women, gender roles in many cultures assign to women exclusively work that can be interrupted unexpectedly at any time <xentrac>things like gathering fruits, plowing, and spinning, rather than hunting and building <OriansJ>however the invention of Formula has lead to men also being forced to deal with baby induced interrupts <xentrac>well, men in most cultures do rear children, in part <xentrac>I mean not all instances of crying result from hunger <xentrac>'ll be glad you spent a lot of this time with your spouse and baby rather than on stage0 <xentrac>I mean, stage0 is important, but a whole lot less time-sensitive than growing out of babyhood <xentrac>it'll probably have nearly as much social value if it's completed two years later, whereas a two-day interruption in childrearing would probably kill the baby <xentrac>and your personal absence from their life for two years would leave you with regrets for the rest of your life, and probably a divorce too <OriansJ>although the crazies clearly don't agree but let us hope that never spills out of the cyber realm. <xentrac>you don't owe the crazies anything, I'm guessing. unless they're like your ex-brother-in-law who lent you money or something <OriansJ>xentrac: agreed. fortunately my family and friends are in the largely sane camp. <xentrac>well, I'm not! but I don't think you owe me anything. I'm grateful for the wonderful work you've done and hope you have the chance to do more of it <OriansJ>xentrac: I find the "work" generally fun if not a challenge some days. <xentrac>I think trying to make it challenging is at the root of a lot of the difficulties we have in bootstrapping <xentrac>instead of doing things in a boring way that will obviously work, we look for exciting ways that will make people go, "Wait! That's impossible!" <vagrantc>people already think bootstrapping is in the near-impossible category, just getting something working at all makes a lot of people amazed :) <OriansJ>xentrac: I'd argue most of my work has been proving time and time again the boring way is the only way that works consistently well. <xentrac>I feel like in general your work has avoided that problem, yeah <OriansJ>I've done the whole, lets do a clever FORTH (that got stuck fast) <xentrac>I'm thinking more of things like StoneKnifeForth, which compiles itself to Linux ELF from source code in two pages of code <xentrac>and tokthr, where I was trying to fit an interactive development environment into 2K <OriansJ>I've doen the lets write a Lisp in assembly. (that proved Lisp without macro support just isn't respected.) <xentrac>yeah, Lisp without macro support went out of style in the late 1970s, after people ferociously assailed fexprs <xentrac>the boring way is boring precisely because it has consistent results <xentrac>I mean peg-bootstrap is exciting because you wouldn't expect a parser generator to fit into a page of code <xentrac>but it would be a lot more pleasant to use if you added Kleene closure, for example <xentrac>in that case it's easy enough to add <OriansJ>xentrac: well we did see a rather genius parser generator early on <xentrac>(btw, WRT fexprs, I'm not saying fexprs are good. I agree with the mainstream belief that macros are a better alternative to fexprs.) *xentrac performs his auto-da-fe <OriansJ>I can't for the life of me remember who did the META II bootstrap work <xentrac>I thought META II was D. Val Schorre <xentrac>hmm, I wonder if Dave Long has done that. it sounds like something he would do. I wonder if he's okay <siraben>I haven't tried doing extra stuff like allowing custom regexes to recognize different kinds of tokens (e.g. [a-z0-9]+), which would make it more useful <OriansJ>siraben: Nice. Must have take some effort to implement from scratch. <siraben>I have since lost the original bootstrap, heh. But it was not too bad. <siraben>OriansJ: Would META II come in useful somehow? It's very declarative and simple. <OriansJ>siraben: well possibly but I don't know eactly how. <siraben>OriansJ: how well-constructed is your parser for Lisp? <siraben>Handwriting parsers in C can be tricky, that is. <OriansJ>So it is relatively robust (I've fuzzed the crap out of it) <OriansJ>It found about a half-dozen spots that needed a require to catch edge cases <OriansJ>So finding a hang or crash should be quite unlikely (12+ hour fuzzing sessions resulted in no crashes or hangs) <OriansJ>I've since fuzzed the stage0 vm; M2-Planet and mescc-tools; cleared out all of the crashes and virtually all of the hangs (haven't gotten rid of waiting for user input hangs in the stage0 vm yet) <rain1_>peg-boostrap was so inspiring to me <rain1_>i did my own implementation of it later on in racket, much less elegant though <siraben>rain1_: is the a small implementation of this in C? ***rain1_ is now known as rain1
<siraben>I'm well, quite busy with uni so not much coding time. <rain1>im alright, trying to get back into coding something <rain1>are you working anything cool or researching something? <siraben>Studying math and CS no research ATM but I discuss functional programming, lattice theory and category theory. <siraben>rain1: Yeah, very nice intersections with one another. <siraben>Compilation and interpretation has well-defined meaning as well, which means it is feasible to state and prove correctness of compilers/interpreters. ***Hagfish_ is now known as Hagfish
<xentrac>OriansJ: if you're interested in the reasons macros are better than fexprs, check out Kent Pitman's 1980 "Special Forms in Lisp:" <xentrac>I think it was pretty much the end of that debate <snnw>OriansJ: I finally got round to finishing cc_aarch64 in M1. With the last few bugs out of M0, I've now got a full bootstrap from a hex0 seed for aarch64 to the mescc tools and M2-Planet <snnw>still missing a kaem and catm but they're more like side quests IMHO :) <snnw>pull requests might take a while to appear; need to navigate the usual bureaucracy at work <Darius>xentrac, dave wrote an article on his reimplementation for cacm <xentrac>Darius: have you heard from him lately? I hope he's ok