From 02146622a36695d7e661440072349a9ec1a49f0b Mon Sep 17 00:00:00 2001 From: "Javier B. Torres" Date: Thu, 15 Jan 2026 15:56:05 -0300 Subject: [PATCH] it begins with a big bang --- .editorconfig | 13 +++++++++++++ .gitignore | 3 +++ README.md | 3 +++ include/growl.h | 13 +++++++++++++ meson.build | 19 +++++++++++++++++++ shell.nix | 7 +++++++ src/main.c | 7 +++++++ 7 files changed, 65 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 README.md create mode 100644 include/growl.h create mode 100644 meson.build create mode 100644 shell.nix create mode 100644 src/main.c diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7ecbc3d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +[*.{c,h,grr}] +indent_style = space +indent_size = 2 + +[meson.build] +indent_style = space +indent_size = 2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2663626 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/build +/.cache +/.envrc diff --git a/README.md b/README.md new file mode 100644 index 0000000..b5a2e15 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# growl + +a concatenative programming language diff --git a/include/growl.h b/include/growl.h new file mode 100644 index 0000000..52a6ce8 --- /dev/null +++ b/include/growl.h @@ -0,0 +1,13 @@ +#ifndef GROWL_H +#define GROWL_H + +#include +#include + +/* Common type definitions */ +typedef void V; +typedef intptr_t I; +typedef uintptr_t U; +typedef size_t Z; + +#endif diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..47cd213 --- /dev/null +++ b/meson.build @@ -0,0 +1,19 @@ +project( + 'growl', + 'c', + meson_version : '>= 1.3.0', + version : '0.1', + default_options : ['c_std=c99', 'buildtype=debugoptimized', 'warning_level=3'], +) + +include_directories = include_directories('include', 'src/core') +core_sources = [] + +exe = executable( + 'grr', + core_sources, 'src/main.c', + include_directories : include_directories, + install : true, +) + +test('basic', exe) diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..ce64c79 --- /dev/null +++ b/shell.nix @@ -0,0 +1,7 @@ +{ pkgs ? import {} }: + +pkgs.mkShell { + buildInputs = with pkgs; [ + clang-tools meson ninja gdb + ]; +} diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..4277d2a --- /dev/null +++ b/src/main.c @@ -0,0 +1,7 @@ +#include +#include + +int main(void) { + printf("hello growl :o)\n"); + return 0; +}