diff --git a/CMakeLists.txt b/CMakeLists.txt index d88bac1..022dfe0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10) -project(fun VERSION 0.37.45 LANGUAGES C) +project(fun VERSION 0.37.46 LANGUAGES C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) diff --git a/examples/class_without_object.fun b/examples/class_without_object.fun new file mode 100755 index 0000000..d60ed75 --- /dev/null +++ b/examples/class_without_object.fun @@ -0,0 +1,22 @@ +#!/usr/bin/env fun + +/* + * This file is part of the Fun programming language. + * https://fun-lang.xyz/ + * + * Copyright 2025 Johannes Findeisen + * Licensed under the terms of the Apache-2.0 license. + * https://opensource.org/license/apache-2-0 + * + * Added: 2026-01-12 + */ + +// Demonstrates the usage of functions in classes without initiating an object. + +include + +print(SHA256().sha256_hex("")) + +/* Expected output: +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +*/ diff --git a/examples/console_prompt.fun b/examples/console_prompt.fun new file mode 100755 index 0000000..938532e --- /dev/null +++ b/examples/console_prompt.fun @@ -0,0 +1,24 @@ +#!/usr/bin/env fun + +/* + * This file is part of the Fun programming language. + * https://fun-lang.xyz/ + * + * Copyright 2025 Johannes Findeisen + * Licensed under the terms of the Apache-2.0 license. + * https://opensource.org/license/apache-2-0 + * + * Added: 2026-01-12 + */ + +// Demonstrates the the console prompt. + +include + +input = Console().prompt("fun> ") +print("You entered: " + input) + +/* Possible output: +fun> Fun! +You entered: Fun! +*/ diff --git a/lib/io/console.fun b/lib/io/console.fun index e2a0cd0..c312e8f 100644 --- a/lib/io/console.fun +++ b/lib/io/console.fun @@ -1,3 +1,12 @@ +/* + * This file is part of the Fun programming language. + * https://fun-lang.xyz/ + * + * Copyright 2025 Johannes Findeisen + * Licensed under the terms of the Apache-2.0 license. + * https://opensource.org/license/apache-2-0 + */ + /* * Console utilities: prompt, ask, and yes/no helpers built on input(). */ @@ -38,3 +47,6 @@ class Console() else if (a == "n" || a == "no") return 0 // otherwise loop again + + fun progress(this, length) + return length diff --git a/src/vm/echo.c b/src/vm/echo.c index 0a18101..b29d8e6 100644 --- a/src/vm/echo.c +++ b/src/vm/echo.c @@ -1,4 +1,13 @@ -/** +/* +* This file is part of the Fun programming language. + * https://fun-lang.xyz/ + * + * Copyright 2025 Johannes Findeisen + * Licensed under the terms of the Apache-2.0 license. + * https://opensource.org/license/apache-2-0 + */ + + /** * Implements OP_ECHO: print top-of-stack value without trailing newline. * Now stores the value into the VM's output buffer and marks it as partial, * so the CLI can render echo output together with following print output.