- SIGSEGV proof: able to handle SIGFPE/SIGABRT/SIGSEGV (ususally cause by calling c library)
name | Panic proof | SIGSEGV proof |
---|---|---|
tokio (tested with xtra) | Yes; thread 'tokio-runtime-worker' panicked | No |
bastion | Yes; error with tracing |
No |
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html |
import { | |
component$, | |
useSignal, | |
$, | |
} from "@builder.io/qwik" | |
import { loader$, DocumentHead } from "@builder.io/qwik-city" | |
import { scan, Subject } from "rxjs" | |
export const timeLoader = loader$(() => new Date()) |
out/ |
import std/[strformat, strutils, bitops] | |
import pixie, chroma | |
# define `nort` when opengl or windows system is not available. | |
when not defined(nort): | |
import nimgl/[glfw, opengl] | |
proc `{}`(image: var Image, x, y: int): var ColorRGBX = | |
## Accessing any pixels outside the bounds of the image is error | |
when not defined(danger): |
=begin pod | |
Example Usage: | |
=begin code | |
use OpenGL::GLFW:from<Perl5> qw<:all>; | |
use lib "."; | |
use ConstCaller; | |
constant GLFW = ConstCaller.new :package(OpenGL::GLFW.WHO) :prefix<GLFW>; |
%YAML 1.2 | |
--- | |
# See http://www.sublimetext.com/docs/3/syntax.html | |
file_extensions: [p6, pm6, pod6, raku, rakumod, rakudoc, rakutest, nqp, crotmp] | |
scope: source.raku | |
contexts: | |
# The prototype context is prepended to all contexts but those setting | |
# meta_include_prototype: false. | |
prototype: |
import Data.Colist | |
InfiniteBits : Type | |
InfiniteBits = Colist Bool | |
-- 1.bits << n | |
record RealData where | |
constructor MkRealData | |
n: Int | |
bits: InfiniteBits |
name | Panic proof | SIGSEGV proof |
---|---|---|
tokio (tested with xtra) | Yes; thread 'tokio-runtime-worker' panicked | No |
bastion | Yes; error with tracing |
No |
If terminal doesn't have a seperate screen buffer, but allow cursor movement, you can use new linereturn to create the new "screen", not touching the scrollback buffer above.
#############################
###### previous buffer ######
#############################
#############################
#############################
Koka { | |
space := "\x01".."\x00" // disable builtin rules | |
spaces := "" | |
program = token* | |
token = whitespace | lexeme | |
whitespace = white | newline | |
newline = "\r"? "\n" | |
white = " " | blockcomment | linecomment | linedirective |