#Noul compiler
Explore tagged Tumblr posts
thatnoulguyorsomething · 26 days ago
Text
Scheme/Lisp compiler
Alright, I've been spamming private chats with this for too long, time to make it an actual blog thing. Tw nerd shit
Tldr, I write a lot of code (website), I've written Lisp interpreters before, I was reading up on jod knows what when I decided to write a Lisp compiler. Spent most of the last month on that, been spamming friends with it a LOT, finally decided blogging about it might be more productive. This will be very messy and I will not be explaining stuff (ie not beginner-friendly), but if you're interested or want to know more, hmu, DM, whatever, I might start a discord server and/or stream stuff if there's enough interest, idk. Oh right, the website has lengthy articles on (a VERY old, outdated, and often stupid version of) my interpreter and a buncha other stuff you could read to get an idea of what's going on. I intend to also write articles on this whole thing, but 1. I'd have to finish it first, and 2. the articles are cleaned up, reasonable, and post-factum, and I wanna complain about stuff NOW.
Catch-up: instead of dealing with messy architectures, I came up with my own instruction set (largely a combination of UXN and HACK), wrote an emulator for that (the whole thing is 60loc of C), wrote machine code for a while before I tossed the towel and wrote an assembler (120loc and somewhat messy). Updated my original interpreter a LOT (many more primitives, functioning garbage collector, more reasonable handling of data, various small optimizations) (320loc) - I won't be using it a lot once this works, but I need it to be at least good enough to bootstrap the compiler.
Speaking of, the compiler. Partly written in ASM, partly in (a subset of) Scheme, compiles for aforementioned architecture. I intend it to be self-hosting, ie it compiles itself (including a REPL) and then I can use that to compile other stuff. I'm mostly done unit-testing the assembly parts (which was easier and much more fun than I expected), then got deep into trying to figure out how the hell to implement closures meaningfully, finally figured it out and made it work today. Note, however, that I haven't actually tested any of the Scheme code - I intended to, but last weekend was a mess, and then I cracked the closure stuff. Tldr I got very confused about the line between compiling and executing code again, wrote some sample Scheme code involving closures, wrote a braindead description of what I wanted it to compile to, went through that description to figure out what I wanted the compilation to do, compared that to my code, and found out I'd been doing it right all along. Ah well.
3 notes · View notes
nicolae · 1 year ago
Text
Sondaje online: Colectarea datelor
Tumblr media
Când dezvoltați sondaje puteți combina datele calitative cu datele cantitative — depinde doar de modul în care sunt adresate întrebările. Efectuarea de sondaje online permite ca datele să fie capturate imediat, iar analiza datelor poate fi efectuată ușor și rapid. Prin utilizarea e-mailului sau a internetului pentru efectuarea de sondaje, limitările geografice pentru colectarea datelor pot fi depășite în mod eficient din punct de vedere al costurilor. Dezvoltarea tehnologiei permite, de asemenea, să fie compilate sondaje sofisticate și ușor de utilizat. De exemplu, spre deosebire de a indica impresiile pe o scară glisantă, respondenții pot indica răspunsul emoțional. Comparați imaginile de mai sus cu următoarea întrebare din sondaj: Evaluați cum apreciați o marcă negativ nici pozitiv nici negativ pozitiv Elaborarea sondajelor: punerea întrebărilor Succesul unui sondaj în culegerea de date utile este determinat în mare măsură de designul sondajului și, în special, de întrebările care sunt adresate. Un sondaj poate cuprinde orice număr și tipuri de întrebări, iar acestea ar trebui să fie structurate astfel încât întrebările mai complicate să apară numai odată ce utilizatorii se simt confortabil cu sondajul. Fiți atenți când creați întrebări ca să nu introduceți părtinire punând întrebări cu răspuns dirijat. Exemplu de părtinire a întrebării principale Un exemplu de întrebare ar putea fi următorul: Am introdus recent noi funcții pe site-ul Web pentru a deveni o destinație Web de primă clasă. Ce părere aveți despre noul site? Înlocuiți-o cu următoarele pentru a scăpa de părtinire: Ce părere aveți despre modificările aduse site-ului web? Întrebările din sondaj ar trebui să fie scurte, ușor de înțeles și, mai ales, ușor de răspuns. Sursa: Online Marketing Essentials (v. 1.0), licența Creative Commons by-nc-sa 3.0, Traducere și adaptare Nicolae Sfetcu. Articol publicat sub licență Creative Commons by-nc-sa 3.0 Read the full article
0 notes