Skip to content

Instantly share code, notes, and snippets.

In posuere placerat maximus
Lorem ipsum dolor sit amet, consectetur adipiscing elit Nam nec convallis purus Curabitur urna mauris, facilisis ut scelerisque viverra, facilisis nec nunc
Nulla facilisi Sed vehicula, sapien et consectetur vulputate, turpis ipsum viverra sem, in efficitur quam erat sit amet ligula
@hiiamboris
hiiamboris / typed-object.red
Last active September 3, 2022 18:13
Simple typechecked object
Red []
allow-types: function [word [any-word!] types [block!]] [
obj: context? word
map: third find body-of :obj/on-change* 'type-checker
put map word func reduce [to word! word types] []
]
restrict: function [types [block!] 'word [set-word!] value [any-type!]] [
allow-types word types
@hiiamboris
hiiamboris / practice-split-2021-12-17-17-20-35.red
Created December 23, 2021 16:02
practice-split-2021-12-17-17-20-35.red
[[
id: #01
desc: ""
input: "a,b,c"
goal: ["a" "b" "c"]
hint: ""
dial-status: correct
dial-solution: {","}
dial-tries: [23-Dec-2021/19:00:43+03:00 {","}]
ref-status: correct
@hiiamboris
hiiamboris / crash.red
Created June 29, 2021 15:12
try/keep crasher
Red []
;--- IRRELEVANT CODE ---
;--- IF IT DOESN'T CRASH TRY DUPLICATING SOME OR REMOVING ----
assert: function [contract [block!]][
set/any [cond msg] reduce contract
unless :cond [
print ["ASSERTION FAILURE:" mold/part contract 100] ;-- limit the output in case we have face trees or images
@hiiamboris
hiiamboris / func-cache-estimation.red
Created March 18, 2021 21:08
Function cache size estimation and cache creation prototype
Red []
#include %assert.red
#include %keep-type.red
#include %composite.red
#include %map-each.red
#include %format-number.red
#macro [#print string!] func [[manual] s e] [insert remove s [print #composite] s]
word-id: routine [word [any-type!] return: [integer!] /local w] [
@hiiamboris
hiiamboris / rolling-text.red
Last active March 16, 2021 08:48
Smooth rolling text
Red []
speed: 50
rt: rtd-layout [{ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.}]
rt/font: make font! [name: "Colonna MT" size: 100]
rt/size: 99999x999
rt/size: size-text rt
draw: compose/deep [scale 0.5 0.5 [pen cyan text 0x20 (rt)]]
draw2: compose/only/deep [translate 0x0 (draw) translate (rt/size * 1x0 / 2) (draw)]
t0: now/precise
@hiiamboris
hiiamboris / lagometer.red
Last active January 28, 2021 16:51
lagometer
Red [needs: view]
img: draw 4000x2000 [scale 2 2 fill-pen yello circle 1000x500 1000 500]
lag: object [max: avg: 0.0]
offset: 0x0
plot: []
system/view/auto-sync?: off
view/no-wait [
below
@hiiamboris
hiiamboris / react-mark-view.red
Last active June 19, 2020 13:23
Reactivity benchmark (using faces)
Red [title: "reactivity benchmark" needs: view] ;) run as `red --cli ...` to eliminate GUI console influence!
do https://gitlab.com/hiiamboris/red-mezz-warehouse/-/raw/master/clock.red
do-unseen: function [code [block!]] [
old: system/view/auto-sync?
system/view/auto-sync?: no
do code
system/view/auto-sync?: old
]
@hiiamboris
hiiamboris / react-mark-noview.red
Last active June 6, 2021 08:13
Reactivity benchmark (using reactors)
Red [title: "reactivity benchmark"] ;) run as `red --cli ...` to eliminate GUI console influence!
do https://gitlab.com/hiiamboris/red-mezz-warehouse/-/raw/master/clock.red
recycle/off
print-count: does [
attempt [print ["relations count:" (length? system/reactivity/relations) / 4]]
attempt [print ["relations count:" system/reactivity/relations-count]]
]
@hiiamboris
hiiamboris / react-mark.red
Last active May 25, 2020 15:51
Reactivity benchmark
Red [title: "reactivity benchmark" needs: view] ;) run as `red --cli ...` to eliminate GUI console influence!
do https://gitlab.com/hiiamboris/red-mezz-warehouse/-/raw/master/clock.red
do-unseen: function [code [block!]] [
old: system/view/auto-sync?
system/view/auto-sync?: no
do code
system/view/auto-sync?: old
]