Hmm. I can't decide whether I want to use a dark or light theme for the #Olang site. All reason and care for eyes screams dark, but there's also the thing of most websites defaulting to light. Are there any good examples of programming language sites with a dark theme? Which should I go for?
I think the website I made for #Olang isn't really matching well with the content I'm aiming to put on it. I haven't touched the blog section because I've mostly just been using #Mastodon for that. The only useful bit is the docs section.
So I'm thinking about a potential redesign. Strip a lot of the cruft away from it and make it primarily a docs site until there's more content to go there.
I think the next #Olang thing I'm going to do is teach myself how to use #git branches (should've done that years ago). I'll then move the #MiniO lexer and parser into more generic projects so I can store the #MiniO and #Olang projects in their own branches of the same thing. Will make it much easier to work with.
What I should also do is create a 3rd project for generic libraries and utility methods I'm building up that are similar between everything and find some way of having git pull that repo in.
One thing I do loads that I'd love nicer syntax for is something like this:
int x = somemethod() ;
if ( x > y ) y = x ;
I want that in one line, but I need to save the method output in x because I use it multiple times. I'd need some way of saying "hey, see that bit there in the condition? Remember that for the next bit" but without using the assignment for it.
somemethod() | if ( pipe > y ) y = pipe ;
Just implemented a completely untested parsing method based on the idea of an AST schema.
Once I'm not in a hurry and have gone through and added logging and everything I'll start testing it.
I'm glad I'm taking this approach as I'm expecting it'll save me shit-loads of time in the long run - even if it's more complicated right now.
People are probably going to say "you twonk that's what you're supposed to do" and I'm telling myself that too now.
Having taken a step back from #Olang a little and looking at the mammoth task of syntax spec for a full v1, I'm going to put that on hold and make a "MiniO". The idea being the obvious: incredibly stripped-down version of O without most of the fancy features like defining statements and type conditions and memory management.
I should get some more spec work done for #Olang. I haven't done any in a while. Helps to keep the project moving - even just slowly.
I think once I have the parser spec done, the lexer spec will be a lot more concrete, at which point I can get the "final" bootstrap lexer done and start thinking about writing the parser.
Broken internet? Not all of them!
Of all the amazing projects I've come across, this is right at the top so far, and I think it'll remain there for a while (until I finish #Olang of course lol)
Input format and half the tokens documented through first draft on the #Olang docs page. This is going well!
Made a good start on the formalised lexer spec for the #Olang website. If I can find the motivation and/or boredom then it's entirely possible it could be finished and up on the website by Sunday evening.
#Olang website is very nearly ready. I have the home page finished and I've made some "coming soon" pages for a blog and docs. Docs will be the first to get anything on them as I'll start populating it with lexical spec and then parser spec. Actual language usage tutorials probably won't show for a while. I think it would be best to have at least a functioning compiler before I start trying to teach people how to use the language.
#Olang website is coming along nicely. I just need to tidy up the homepage a little more and that'll be ready, then I can make placeholder pages for everything I haven't made yet and then I guess it can go up for people to see.
Then the scramble to start converting the contents of my head into readable documentation...
At least this means plenty to occupy myself with tomorrow.
I've been working on a website for #Olang and I'm debating whether or not to put it up. At the moment, all the content I've put on it reads as though it's a complete language, so I'd need to add big notes and things to make it clear it's still very much a work in progress, but it would serve as a good place to host all the spec and docs and so on.
Probably needs a bit more work first, but when it's done I think I'll make it available at olang.boxin.space (non-functional link for now).
Rip. I'm back at the expression syntax problem. Because of the way I want #Olang to work and what things I want to be valid syntax, expressions become incredibly difficult to specify.
When I have a v1 for #Olang, I think my first project will be to learn about the Mastodon API, write an O package for it, then make a TUI client. It serves a genuine use and will cover a broad selection of things to go in the std library such as a HTTP library, terminal library (for getting dimensionsn for instance), and a simple input library for listening for keyboard events.
Will be a long way off though. Also reminds me I need to carry on with the #parser lol.
Ok, I think I'm starting to figure out the right approach to take with expressions in #Olang. If I say that the "standard" thing that's used for expressions is a block, then I can define all the parts of expressions in terms of blocks, then come back and tidy up order of operations later.
Just realising that these are going to be all the statements that return things in #Olang:
return, pass, throw, pipe, give, yield.
This... will need some documentation with it.
UK Software Engineer, FOSS enthusiast, Privacy advocate, Linux user, Dvorak typist, "grumpy internet person", Human (?)
This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either! We adhere to an adapted version of the TootCat Code of Conduct and have documented a list of blocked instances. Ash is the admin and is supported by Fuzzface, Brian!, and Daniel Glus as moderators. Hosting costs are largely covered by our generous supporters on Patreon – thanks for all the help!