elijah

elijah

0-day streak
I did a LOT on my programming language today. I'm lazy so here's the todo list items i checked off.
# TODO: add returns
# TODO: add arrays
# TODO: add in-language null type and function type
# TODO: import statements
# TODO: update the block system completely
# TODO: allow function multiple calling (as in "()()")
# TODO: Get rid of that stupid statements in blocks have to end with a dot thing
# TODO: Redo the way i implemented functions to be more like expressions
# TODO: Split shared.py into config.py and shared.py
# TODO: add special internal name for comments
# TODO: Add anonymous functions
The base language is essentially done now! Now it's time to use the hot-swappable syntax system to give it a bit more personality 🤭 github.com/Elijah-Bodden/dialog-lang/commit/cc639acb069c2667718758351e0eb6a2ef3aed85
https://imgutil.s3.us-east-2.amazonaws.com/156874ab395ded8f10e79627f12fb133729edace454111966f47cbfadb066247/ed628085-9371-413a-b318-6066e7ebce57.png
spring-of-making emoji
github emoji
I did a lot of behind-the-scenes work on my programming language. With my newly-added in-language type system and a cleaner lexer after merging symbols and keywords under the hood using "internal names" for tokens, I was able to add the typeof operator from scratch with just a few small changes to the config file. The language is coming closer to is goal of completely flexible syntax using easy configuration! github.com/Elijah-Bodden/dialog-lang/commit/bdfbb272c73b2f9835e4c06b7eeda5f6befddb9b
https://imgutil.s3.us-east-2.amazonaws.com/d73a4e57d8fda2a944b29b424d12c02ffdf8b77f589ec99b4fdb4465c1633289/c767881c-57e0-4d22-9385-54d8d09cb2c8.png
spring-of-making emoji
github emoji
Did a lot of bug wrangling for my language today. I added anonymous functions, some in-language tests, better lexer pre-checking, pretty AST printing, and a vscode language extension for syntax highlighting and such. Spent most of the rest of the day bashing my brains out over my expression parser implementation, but i think I'm on my way to fixing it with a total rewrite github.com/Elijah-Bodden/dialog-lang
https://scrapbook-into-the-redwoods.s3.amazonaws.com/3ea63dc9-7672-4ba3-83a3-b844e617562b-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/0c0bd219e3db9b1100c0f9d2977119df4bb6fe8a421e5d1ac0d4c8c04589b78f/8456b87f-7494-4409-8c43-574048da1955.png
Did more work on my programming language today. I ~totally rewrote the lexer to change the way non-word characters are handled, and added multi-character symbols and unary and ambiguous operators. I'm down to this pretty doable todo list for tomorrow, hopefully then i can clean up the syntax and ship tomorrow! github.com/Elijah-Bodden/dialog-lang
https://scrapbook-into-the-redwoods.s3.amazonaws.com/72f0ebee-f6f5-4b12-a01b-28f5edc2e505-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/0c0bd219e3db9b1100c0f9d2977119df4bb6fe8a421e5d1ac0d4c8c04589b78f/b3cdc584-be2a-4496-b340-dde67cd100ee.png
Woooo, after several days of vigorous head scratching, i've finally got a working language (with dummy syntax) from scratch. It's super primitive but over the next few days i'm planning on fleshing it out more and making the syntax way more fun. Today i added an actual expression parser, functions, elifs, and a few other improvements. Tomorrow's goal is structs, a complete overhaul of the parser and evaluator, and trying to finish all the little todo's sprinkled around github.com/Elijah-Bodden/dialog-lang
https://scrapbook-into-the-redwoods.s3.amazonaws.com/67efa0eb-0b55-40ad-8af8-4074fbfc6a09-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/d73a4e57d8fda2a944b29b424d12c02ffdf8b77f589ec99b4fdb4465c1633289/8a8a9093-781b-41d6-aff8-383ecb7caf0a.png
spring-of-making emoji
github emoji
Did a lot more work on my language today. Not much to show but i finally worked out how to build an AST with a parser (i'm trying to figure out how to make a language from first principles and the little knowledge i have. Is this very stupid? Yes. Is it also very fun? duh.)
https://scrapbook-into-the-redwoods.s3.amazonaws.com/1abfaf3b-5879-48ec-926e-55b09fb2226f-image.png
spring-of-making emoji
Decided to stumble around and figure out how to build an interpreter on my own because...why not. Finished an arithmetic lexer and evaluator so now i've got the world's most convoluted calculator! Just gotta figure out what in hell an AST is and how a parser works and i'm ready to make a full language :tw_sweat_smile:
https://scrapbook-into-the-redwoods.s3.amazonaws.com/f68ca85d-cf92-420e-964a-3fd6a4696532-image.png
spring-of-making emoji
Finally shipped my personal ai clone and had a ton of fun playing around with it and seeing what other people did with it! Personal favorite was when it threatened to kill me and got very unhinged when the person threatened to send screenshots to me
https://scrapbook-into-the-redwoods.s3.amazonaws.com/cae0a832-c984-42bb-ae0f-0d8305511400-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/4d4ecc40-c388-4b9d-997f-1f3d6a21302c-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/72531ef1-e77d-4c25-b12e-fb6f9f750044-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/dc42e2d84752b9907cff89e472d363f1895ea95dd4e7c7f5ad568e5a6570a95e/69f7b68f-b205-4d53-a081-0d5f877ffaef.png
spring-of-making emoji
earthquakyeyes emoji
https://scrapbook-into-the-redwoods.s3.amazonaws.com/3537452c-3744-4c41-8148-fd69f9fef33c-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/3548f65faedf573a617d447111d0ec757780471e49fdb18d7af96f911ffb1800/27bc615a-511e-4517-8e7d-6d7112fbf790.png
upvote emoji
js emoji
https://scrapbook-into-the-redwoods.s3.amazonaws.com/f0aa55d0-7317-48e0-be9e-876719c032e1-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/3642c6b7b79e8d1e7167b15f42e338dd44a535851ab162f6fa9ca46524ece344/90de633a-15a8-4992-8a5d-8c4a6f7a6bb0.png
discord emoji
https://scrapbook-into-the-redwoods.s3.amazonaws.com/410ca803-a693-4330-b576-6f07133bbd13-image.png