Skip to content

Commit

Permalink
Remove C Code (#67)
Browse files Browse the repository at this point in the history
* Move documents on C to docs
* Remove all code related to C
* Update README
  • Loading branch information
thedavidchu authored Jan 7, 2024
1 parent a61e038 commit e61f35a
Show file tree
Hide file tree
Showing 200 changed files with 29 additions and 28,943 deletions.
18 changes: 0 additions & 18 deletions .clang-format

This file was deleted.

15 changes: 5 additions & 10 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: Lint Code Base

on: [push]
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
run-linter:
Expand All @@ -18,12 +22,3 @@ jobs:
--exclude /(\.github|\.git|\.venv|\.vscode)/
src: "."
version: "22.3.0"

- name: Run clang-format (C)
uses: HorstBaerbel/[email protected]
# These are optional (defaults displayed)
with:
scandir: '.'
excludedirs: 'build,cmake,third-party'
extensions: 'c,h,C,H,cpp,hpp,cc,hh,c++,h++,cxx,hxx'
style: 'file'
28 changes: 0 additions & 28 deletions .github/workflows/linux_ci.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

62 changes: 0 additions & 62 deletions CMakeLists.txt

This file was deleted.

48 changes: 24 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
# Light Object Language
# Light Object-Oriented Language (LOL)

**Successor of "Object Zero" repo (private) for my "Light Object Language".**
## Project Naming

This library is misnamed. It is actually an attempt (number 3 or so) at creating an interpreter. My previous repos are private (and for good reason). I have previously implemented a Robinhood hash table, but it was messy and I didn't understand why it worked. This code is much better.

I am building out the standard library that I will use for the interpreter/language runtime (see C project).
I am also interested in building a transpiler (see Python project).
I need to come up with a better architecture for this all and decide what features I want and what I don't want.
This will allow me to write a reasonable amount of code.
Otherwise, I risk writing way too generic code.

I am also trying to come up with an appropriate name for this project.
I am trying to come up with an appropriate name for this project.
I like "Light Object Language" (because lol), but it's not really object-based.
I was thinking of something short and close to the beginning of the alphabet (e.g. "Ah").
I was musing with design objectives as well; my goals for this language are to be (1) secure, (2) usable, and (3) performant in that order (or maybe.
Maybe "Light Open-Source Language" is better.
I was thinking of something short and close to the beginning of the alphabet (e.g.
"Ah").
I was musing with design objectives as well; my goals for this language are to be
(1) secure, (2) usable, and (3) performant in that order (or maybe.
This would lead to the acronym "sup", like "wassup".
As a mature individual (the "lol" notwithstanding), I'm not sure if this would be great; it would also put my language in the middle-toward-the-end of the alphabet, i.e. the most forgettable place ever.

I was also musing about why I wanted to become a systems programmer.
The reason is that I wanted to understand everything from a low level upwards.
Being the deeply empathetic person I am, I thought: why would I not want to treat my compiler the same way?
And so I thought: what if you dump as much information (as the programmer) as you can onto the compiler?
As a mature individual (the "lol" notwithstanding), I'm not sure if this would be
great; it would also put my language in the middle-toward-the-end of the alphabet,
i.e. the most forgettable place ever.

## Visibility
## Project Goals

This repository is public not because I want my half-built code to be visible, but rather so I get unlimited Github Action minutes (not that I am close to using the limit anyways).
1. Expose the internals of the transpiler to the user (if they so choose).
2. Provide a (1) secure, (2) usable, and (3) performant language, in that order.
3. Allow the programmer to dump as much information into the compiler as they wish.
How much is used by the compiler is another question. (Is this a good idea?)
4. Don't make silly features.

## Prototyping
## Bootstrapping

Prototyping will be done in Python. I am faster at writing Python and its error handling is faster to hack together.
This project is to be bootstrapped in Python. Since it targets C, I can choose any
language for the bootstrap. I chose Python because of its rich standard library,
and I am faster at writing Python than C.

## Language Features

Make safety and usability/intuitiveness the priority. Then, performance can be added for a little extra work (since much of the optimization will be done on a small amount of the code).
Make safety and usability/intuitiveness the priority. Then, performance can be
added for a little extra work (since much of the optimization will be done on a
small amount of the code).

- Drop in replacement for C
- Structs are in order
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
8 changes: 0 additions & 8 deletions lint.sh

This file was deleted.

16 changes: 0 additions & 16 deletions src/CMakeLists.txt

This file was deleted.

5 changes: 0 additions & 5 deletions src/arr/CMakeLists.txt

This file was deleted.

Loading

0 comments on commit e61f35a

Please sign in to comment.