20 lines
1.8 KiB
Markdown
20 lines
1.8 KiB
Markdown
|
|
https://git.meatbagoverclocked.com/omedusyo/source-region.git
|
|
|
|
|
|
I have this `https://git.meatbagoverclocked.com/omedusyo/source-region.git` ts package that I developed that basically defines its own Char/CodePoint type and uses it to have sane UTF8 strings in typescript. The resulting fat string (the `SourceText`) also tracks newline information and also defines basic abstractions for source location and spans.
|
|
|
|
I consider myself a language designer and often have many programming language ideas that I want to try out by making a new toy language.
|
|
This time I wish to make something like a very simple Lisp - and the purpose of making it is to use the `source-region` library that I made and perhaps during the development develop another library that would allow to do scanning/tokenization pretty easily over my `SourceText` etc.
|
|
|
|
Also I'm not really bound for the tokenization to be a simple linear stream of tokens. I'm also considering returning concrete syntax trees even in this basic phase.
|
|
|
|
But before we do all that, let's create a new typescript project that submodules the `https://git.meatbagoverclocked.com/omedusyo/source-region.git` (via ssh preferably) and then creates a fat string from e.g. just a simple "hello, world" just to make sure everything is working correctly. I'm ok with using e.g. vite for development and doing some toy web app where later we'll implement a REPL/UI as a webapp.
|
|
|
|
All the implementation work and running of commands I'll do by myself. You'll act as an intelligent rubber duck, or as a helpful assistant who will suggest particular commands for me to type in, or how certain functions work, or as a checker for what I'm doing etc. I don't want you to make decisions for me, only help me to check my work/thinking please.
|
|
|
|
|
|
|
|
```
|
|
git submodule add git.meatbagoverclocked.com:omedusyo/source-region.git libs/source-region
|
|
```
|