diff --git a/api/source/main.c b/api/source/main.c index d3db98a..982e53b 100644 --- a/api/source/main.c +++ b/api/source/main.c @@ -1,13 +1,5 @@ -#include int main(void) { -#ifdef _WIN32 - -#else - - - -#endif return (0); } diff --git a/sleepeesoftware.fr/css/base.css b/sleepeesoftware.fr/css/base.css index 684f60e..18c78ff 100644 --- a/sleepeesoftware.fr/css/base.css +++ b/sleepeesoftware.fr/css/base.css @@ -50,6 +50,7 @@ h3 { .foreground-container { max-width: 960px; + min-height: 720px; margin: 0 auto; background-color: rgba(0, 0, 0, 0.85); box-shadow: 0 0 20px var(--secondary-color); @@ -96,13 +97,12 @@ nav ul li a:hover { color: var(--background-color); } -footer { +.footer-container { max-width: 960px; margin: 0 auto; background-color: rgba(0, 0, 0, 0.85); box-shadow: 0 0 20px var(--secondary-color); padding: 2rem; - bottom: 0; position: relative; z-index: 1; border-radius: 2% / 1.5%; @@ -139,6 +139,14 @@ ul { list-style: none; } +#docs-list { + display: flex; + gap: 1em; + flex-direction: column; + flex-wrap: nowrap; + list-style: none; +} + footer a { text-decoration: none; color: var(--primary-color); diff --git a/sleepeesoftware.fr/css/sterling.css b/sleepeesoftware.fr/css/sterling.css index cc63ea7..1380e94 100644 --- a/sleepeesoftware.fr/css/sterling.css +++ b/sleepeesoftware.fr/css/sterling.css @@ -79,12 +79,8 @@ main { } .section-content { - display: none; - margin-top: 1rem; -} - -.section.open .section-content { display: block; + margin-top: 1rem; } pre { diff --git a/sleepeesoftware.fr/html/SterlingLang.html b/sleepeesoftware.fr/html/SterlingLang.html index 5147acd..936bae0 100644 --- a/sleepeesoftware.fr/html/SterlingLang.html +++ b/sleepeesoftware.fr/html/SterlingLang.html @@ -6,8 +6,8 @@ - Sterling Documentation + Sterling Documentation
@@ -41,36 +41,36 @@
  • Header files: .sth
  • -

    Function

    +

    Function

    Qualifiers

    Every function must declare its linkage explicitly:

    
    -fn 		//globally visible, default linkage
    -fn_static	//translation unit-local only
    -fn_inline	//inline-only, no symbol emitted
    -fn_asm		//raw assembly function, globally visible
    -fn_static_asm	//raw assembly function, TU-local only
    -fn_inline_asm	//inline-only asm, no symbol emitted
    -fn_async	//for fiber (coroutine) ??
    + 		//globally visible, default linkage
    +static		//translation unit-local only
    +inline		//inline-only, no symbol emitted
    +asm		//raw assembly function, globally visible
    +static_asm	//raw assembly function, TU-local only
    +inline_asm	//inline-only asm, no symbol emitted
    +async		//for fiber (coroutine) ??
     

    Syntax

    All functions must explicitly declare their return type. The only exception is void, which may be omitted for brevity when no return value is intended.

    
    -fn u32 add(u32 a, u32 b) {
    +u32 add(u32 a, u32 b) {
     	return (a + b);
     }
     
    -fn_inline u32 max(u32 a, u32 b) {
    +inline u32 max(u32 a, u32 b) {
     	return ((a > b) ? a : b);
     }
     
    -fn exit() {
    -	// equivalent to fn void exit()
    +exit() {
    +	// equivalent to void exit()
     }
     
    @@ -78,7 +78,7 @@ fn exit() {

    Write raw x86_64 assembly using fn_asm or fn_static_asm. Symbol, section, and global declaration are implicit.(placeholder)

    
    -fn_asm void* memset(void* dst, u8 value, u64 size) {
    +asm void* memset(void* dst, u8 value, u64 size) {
     	test rdx, rdx
     	je .done
     
    @@ -97,11 +97,11 @@ fn_asm void* memset(void* dst, u8 value, u64 size) {
     
    -

    Syscalls

    +

    Syscalls

    System calls are allowed via fn_asm or wrapped using concrete ABI-aware interfaces. Example: (placeholder)

    
    -fn_asm void exit() {
    +asm void exit() {
     	mov rax, 60   ; syscall: exit
     	mov rdi, 0    ; exit code
     	syscall
    @@ -112,15 +112,15 @@ fn_asm void exit() {
     
    -

    Register Access

    +

    Register Access

    Sterling exposes raw CPU registers as language-level primitives. This is intended for kernel, embedded, and runtime-critical tasks.

    
    -fn u64 get_rbp() {
    +u64 get_rbp() {
     	return rbp;
     }
     
    -fn void set_rsp(u64 val) {
    +void set_rsp(u64 val) {
     	rsp = val;
     }
     
    @@ -129,7 +129,7 @@ fn void set_rsp(u64 val) {
    -

    Types

    +

    Types

    
    @@ -162,7 +162,7 @@ u32 raw_val @raw; // raw_val = ? can be poopoo data
     
    -

    Memory Model

    +

    Memory Model

    Manual memory management by default. Variables are zero-initialized unless marked @raw. All layout is predictable and cache-friendly. Custom allocators are encouraged.

      @@ -186,7 +186,7 @@ typedef struct(bitfield) {
    -->
    -

    Control Flow

    +

    Control Flow

    Loop

    @@ -226,7 +226,7 @@ for_each (tmp : array(T)) {
    
     
    -fn u32 test(u32 x, u32 y) {
    +u32 test(u32 x, u32 y) {
     	if (x == y) {
     
     	}
    @@ -265,7 +265,7 @@ fn u32 test(u32 x, u32 y) {
     
    -

    Dynamic Arrays with Aligned Layout

    +

    Dynamic Arrays with Aligned Layout

    Runtime-initialized aligned linear arrays can be used to simulate array-of-array structures, where all memory layout is controlled explicitly with offsets:

    
    @@ -280,14 +280,14 @@ struct ArrayView {
     
    -

    Dynamic Linking

    +

    Dynamic Linking

    Sterling does not rely on dynamic linking by default. Static linking is favored for OS and runtime simplicity. Dynamic linking may be optionally implemented via host-defined facilities in the future.

    -

    Metaprogramming

    +

    Metaprogramming

    also i am not thinking of having something as close as what jai have, if you want solid meta programming look out for when jai become open beta

    @@ -315,7 +315,7 @@ struct ArrayView {

    Example

    
    -meta fn print_fields_of(T) {
    +meta print_fields_of(T) {
     	for (field : fields(T)) {
     		print("Field: ", field.name, " of type ", field.type);
     	}
    @@ -341,14 +341,14 @@ meta_codegen(name, ast_block) // gated for advanced use
     
    -

    ABI and Interop

    +

    ABI and Interop

    TODO: Specify ABI model (System V AMD64), calling convention details, struct/pointer representation rules. C interaction, emiting ELF/COFF/Mach-O symbol tables .o

    -

    Threading

    +

    Threading

    TODO: Describe standard threading model, scheduler integration, context switching, green threads API.

    @@ -392,9 +392,9 @@ meta_codegen(name, ast_block) // gated for advanced use

    Thread Primitives

    
    -fn thread_spawn(void fn() entry_fn) -> thread_id;
    -fn thread_join(thread_id tid);
    -fn thread_exit();
    +thread_spawn(void fn() entry_fn) -> thread_id;
    +thread_join(thread_id tid);
    +thread_exit();
     

    Fiber Primitives

    @@ -407,47 +407,39 @@ typedef struct fiber { u8 flag; } fiber; -fn fiber_spawn(void fn() entry_fn) -> fiber_id; -fn fiber_yield(); -fn fiber_resume(fiber_id id); -fn fiber_self() -> fiber_id;//could also be used instead of fork ex main process fibe_self = 0; +fiber_spawn(void fn() entry_fn) -> fiber_id; +fiber_yield(); +fiber_resume(fiber_id id); +fiber_self() -> fiber_id;//could also be used instead of fork ex main process fibe_self = 0;

    Optional stack control:

    
    -fn fiber_spawn_stack(void fn(), void* stack_ptr, u64 size);
    +fiber_spawn_stack(void fn(), void* stack_ptr, u64 size);
     
    -

    Graphics and Rendering

    +

    Graphics and Rendering

    TODO: Describe native rendering interfaceI have been thinking about supporting amd gpu acceleration with very few set of actual call, very fewer than opengl or other, but i will focus only on one hardware at first

    -

    Build and Compilation Model

    +

    Build and Compilation Model

    TODO: AOT compilation, linker behavior, multi-file project structure, module system (if any).

    -
    - -

    email

    -
    -
    - -

    website

    -
    +

    Copyright @ 2025 Sleepee Software
    Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.
    + Verbatim copying and redistribution of any of the photos in the photos subdirectory is permitted under the MIT License

    -

    Copyright @ 2025 Carle-Margueritte Alexandre
    Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.
    -Verbatim copying and redistribution of any of the photos in the photos subdirectory is permitted under the MIT License

    diff --git a/sleepeesoftware.fr/html/SterlingOsDesign.html b/sleepeesoftware.fr/html/SterlingOsDesign.html index 64e9d97..5288f23 100644 --- a/sleepeesoftware.fr/html/SterlingOsDesign.html +++ b/sleepeesoftware.fr/html/SterlingOsDesign.html @@ -150,20 +150,9 @@ revoke_token(token_id)

    Philosophy

    This OS is not a POSIX clone. It is a deterministic, capability-secure, user-controlled computing environment built to reject legacy complexity and embrace verifiable simplicity.

    - -

    Copyright @ 2025 Carle-Margueritte Alexandre
    Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.
    -Verbatim copying and redistribution of any of the photos in the photos subdirectory is permitted under the MIT License

    - - diff --git a/sleepeesoftware.fr/html/card.html b/sleepeesoftware.fr/html/card.html new file mode 100644 index 0000000..a78ac58 --- /dev/null +++ b/sleepeesoftware.fr/html/card.html @@ -0,0 +1,26 @@ + + + + + + Sleepee Software + + + + + + + + + + + + + +

    COUCOU

    +

    + test 32332323490838329ew0 +

    +
    + + diff --git a/sleepeesoftware.fr/index.html b/sleepeesoftware.fr/index.html index 0dc6ce9..85aa72c 100644 --- a/sleepeesoftware.fr/index.html +++ b/sleepeesoftware.fr/index.html @@ -6,7 +6,7 @@ Sleepee Software - + @@ -49,15 +49,16 @@ @@ -87,12 +88,9 @@ -