otpcl
endbasic
Our great sponsors
otpcl | endbasic | |
---|---|---|
1 | 24 | |
36 | 298 | |
- | 1.0% | |
0.0 | 8.4 | |
over 1 year ago | 8 days ago | |
Erlang | Rust | |
ISC License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
otpcl
-
Parser Combinators in Elixir
I guess I can chime in on the "by hand" front, since that's how I ended up going about the first non-trivial parser I wrote[1]: https://github.com/otpcl/otpcl/blob/master/src/otpcl_parse.e...
I'd say the difficulty was moderately high, but that was with no real prior experience with parsers. With that water under the bridge, I'd now rate it at around moderate effort. And the result was gaining a clear and precise understanding of the implicit state machine transitions, and being able to control exactly where and how those transitions happen, such that I didn't really need much of a lexer (the "lexer" just tags each character with its position, so that I didn't have to track that separately in the actual parser code itself).
That said, the result is a bit of a tangled mess; it didn't start that way, but eventually the parsing logic got complex enough that I needed to resort to Erlang's preprocessor macros, and while the end result is manageable through some judicious organization, in hindsight I probably could've done the same with functions, and in a more reusable and maintainable way. If I ever get around to another parser rewrite, I might try using parser combinators or some approximation thereof instead.
----
[1]: Technically the second or third, since I rewrote it a couple times as one can see from the commit history - although said history is a bit hard to pin down across all the renames of the relevant file.
endbasic
-
Write Your Own Terminal
I can confirm that writing a terminal is fun, for the reasons mentioned in the article: it’s easy to get “self-hosting”, but then the possibilities are endless :)
In my case, this was about creating the terminal for EndBASIC (https://www.endbasic.dev/). I wanted to mix text and graphics in the same console, so I had to ditch Xterm.js and create my own thing. It was really exciting to see graphics rendering mix with text “just fine” when I was able to render the first line.
-
Ask HN: Whats the modern day equivalent of 80s computer for kids to explore?
I tried to set up a Raspberry Pi and configured it to boot into a simple window manager with DosBox full screen by default. I taught my kids to launch games within that and they learned the very basics… but it didn’t stick: they haven’t really gained any interest in how to do other stuff in the shell.
Anyway: check (my own) https://www.endbasic.dev/ which I’ve written precisely for the situation you describe :) You would actually have to /write/ the games first though!
- FLaNK Stack for 25 September 2023
-
EndBASIC
Slightly buried: Apache 2.0, written in Rust, https://github.com/endbasic/endbasic/
Definitely an interesting attempt to cut through layers of abstraction and make something that lets people make the computer do useful/interesting things. No idea how well they realize that vision, of course, but good idea.
-
Does this exist already? A converter from MS BASIC to Rust
Or you could use https://www.endbasic.dev/
-
TwinBASIC is a modern BASIC compiler
Somebody else brought it up in a separate comment, but because you specifically ask about the Raspberry, I'll mention EndBASIC (https://www.endbasic.dev/) here again :)
Supporting this platform has been a primary goal of mine, and in fact, one of the features (GPIO) only works on the Raspberry Pi today :) But there is a long road ahead. My vision is to create a minimal Linux image that boots straight into EndBASIC, and extend EndBASIC to give you more control of the Pi's hardware. The idea is to truly mimic the old C64 experience, but leveraging the power of modern hardware / infrastructure.
-
Learning BASIC Like It's 1983 (2018)
Agree with the author’s thesis of how the folks that “grew with computers” have an advantage over those approaching them now, in terms of understanding the inner workings. I’m not sure that this matters much in terms of solving actual problems though, which is probably a good thing.
But I somehow find it a little bit sad that this is the case, so I’ll plug my own https://www.endbasic.dev/ because it’s very fitting in this context :) I’ve been building it precisely as a way to understand everything that’s going on (although it’s still far from fulfilling that promise).
Also, buried in the article is a reference to the https://10print.org/ book. I recently came across it at HPB and it has been a pretty entertaining read. Couldn’t believe there was so much to write about such a simple little program!
- EndBASIC: "BASIC interpreter + DOS environment, reimagined."