Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/evylang/evy
Learn programming โก๏ธ
https://github.com/evylang/evy
Hide and show evy widgets via URL fragment so that we can hide sliders
by default but demonstrat...
Use querySelector instead of getElementById to unify usage for with the
follow-up commit where w...
Add blocking read function for line-by-line reading from text input.
Rework access to "returned...
50e6a7d46369b582d2092a5fb8fe165048668ab7 authored almost 2 years ago by Julia Ogris <[email protected]>Add blocking read function for line-by-line reading from text input.
Add jsRead function to ind...
3595abe1dea66cc1f69cc55540f723bfcdf9140d authored almost 2 years ago by Julia Ogris <[email protected]>
Rework access to evy source code. What we wanted was a JS function that
returns a string (the ev...
Upgrade tinygo to v0.27.0 with
hermit install tinygo-0.27.0
Tinygo's dependencies go and g...
281776f230f04af492a702fd64fb40a0d2582495 authored almost 2 years ago by Julia Ogris <[email protected]>
Add builtin functions `str2num` and `str2bool` converting strings to
numbers and bools. They set...
67739371013775cdcc5088f51c365de453627d36 authored almost 2 years ago by Julia Ogris <[email protected]>
Add builtin functions `str2num` and `str2bool` converting strings to
numbers and bools. They set...
Rework redeclaration error messages with quoting so that they are
consistent with variable redec...
Rework evaluator builtin functions to take scope as first argument, akin
to "context". This will...
Add printf and sprintf functions using Go's fmt.Sprintf (which now that we
hoist wasm code via m...
Fix evaluator failed test output from to print the output (`out`) rather
than the slice of lines...
Add printf and sprintf functions using Go's fmt.Sprintf (which now that
we hoist wasm code via m...
Wire eventHandler to frontend so that when `on <event>` block appears in
evy code the correspond...
Now that all prep work and refactoring has been split off, let's get to
the meat and implement u...
Refactor canvas scale parameters (10,-10).
For drawing (output) we scale logical to canvas-phys...
6d4d88592ee6871ad5cdaa3ddf8b7e938b50bd63 authored almost 2 years ago by Julia Ogris <[email protected]>
Optionally load evy source via URL fragment, where the fragment has to
be `#source=<SOURCE_URL>`...
Unify naming by renaming onExit to onStopped (stop is the verb to use,
not exit or cancel) and a...
Rename function memString to memToString and add new function
stringToMem. stringToMem will be u...
Update eventHandler parsing for parameters and bare return. Add builtin
eventHandler declaration...
Use validateVarDecl in parameters rather than duplicating the validation
for the sake of slightl...
Update eventHandler parsing for parameters and bare return. In follow up
commits we will add val...
Validate eventHandlers against builtin names and parameters, such that
`on unknown_event` errors...
Add variable validation in for statements. In specific, variable
declared in the as `for VAR := ...
Fix memory corruption bug by adding `-stack-size` flag to
`tinygo build` to fix memory corruptio...
Add -stack-size flag to tinygo build to fix memory corruption issues.
https://gophers.slack.com/...
Revert sleeping yielder to interface, the bugfix reverting turning the
interface into a function...
Fix yielding as a regression bug has crept in PR67, commit aba3e29.
When running evy program:
...
94f7c723e5b62f2f57f1c42bc863d594eae6806a authored almost 2 years ago by Julia Ogris <[email protected]>
Tighten error handling with panics rather than returning false or nil so
that we can track down ...
Tighten error handling and panic on unknown node type for Eval function,
previously we just retu...
Panic with internal errors for Value.Set/Equals instead of silently
swallowing incorrect types t...
Implement stop in frontend by turning the Run button into a Stop button
during execution. For th...
Implement stop in frontend by turning the Run button into a Stop button
during execution. For th...
Refactor access to builtin functions and decls so that we can create the
evaluator in wasm main ...
Error on function redeclaration, including builtin functions. Before we
would just let new funct...
Add the builtin `sleep` function: `sleep 1` sleeps for one second,
`sleep 0.001` sleeps for one...
Rework evy-evaluation to be hoisted on main rather than the separately
exported `evaluate` funct...
Launch wasm from go `main()` rather than from go exported function
`evaluate()`. It turns out th...
Remove lex and parse from wasm and frontend as these were only used in
the early stages to debug...
Simplify go.env definition so that we don't repeat key:val where key and
val are the same.
Fix erroneously overridden env object, completely this time. While we
added the fix in 4d25139 w...
Fix erroneously overridden go wasm env object. Instead of setting
go.importObject.env to a new o...
Fix erroneously overridden go wasm env object. Instead of setting
go.importObject.env to a new o...
Install node with
hermit install node
Add prettier write and check targets to Makefile. Add w...
0c08fbd73d41248e5cb6c444db950103b4293923 authored almost 2 years ago by Julia Ogris <[email protected]>
Format html/js/css files in frontend/ directory with Prettier. In the
follow-up commit we will a...
7757934c5d1d85ada37fd93e9363515c52d5287b authored almost 2 years ago by Julia Ogris <[email protected]>
Rework evaluator scopes so that they are part of the evaluator state.
A scope is in essence a li...
Refactor MaxErrorString to be a function rather than a method on the
parser so that we can decou...
Track scopes explicitly as field of evaluator, rather than as parameters
passed to down the call...
Clean up Run function to replace RunWithBuiltins as this is the most
common use case. Update eva...
1c066acd64018a3d13103394e200069bc13786fd authored almost 2 years ago by Julia Ogris <[email protected]>
It seems ios creates some custom styles for disabled textareas. Fix
found on Stackoverflow.
Lin...
73145a80a10838ac0d2fe20a68980f86077635a5 authored about 2 years ago by Julia Ogris <[email protected]>
- Fix output height
- Fix indentation at the end of sample code
- Change sample code circle colo...
Fix the output height. Previously it was about 3 lines high which made
it near unusable. Adding ...
Fix indentation at the end of sample code so that when entering a
newline no whitespace follows....
Change sample code circle color from "lime" to "red", assuming that it
is more obvious especiall...
Fix variable initialisation for inferred declaration and parameter
passing from another variable...
Upgrade tinygo to version 0.26.0. We need to add `//export` directives
the Go function declarati...
Add new builtins. `split str sep` splits string into array of strings on
separator, using go's s...
Add colour as synonym for function color, because my daughters who evy
is for are Australian ;).
Add split builtin mapping the go strings.Split function.
0aa244328a95ca2acb167c5d8832cddc74a75ef0 authored about 2 years ago by Julia Ogris <[email protected]>
Add test ensuring func params can be reassigned - as I thought this was
a bug, but it turns out ...
Fix styles for iPad, the output was dim grey on the right. Also, turn
off change `i` being spell...
Fix off-by-one error in example and while at it remove extra whitespace.
This has been reported ...
Add join and sprint functions for easier string manipulation. Sprint, Join
and Print function ha...
Initialize graphics primitives: move, line, rect, circle, color and
width (line width). Refactor...
Initialize graphics primitives: move, line, rect, circle, color and
width (line width). Refactor...
Rename source to code in div ID and JS. We already use the term code,
this is to keep things con...
Refactor CSS, removing the abstract class `pane` and replacing it by
direct references to `code`...
Update lexer to emit single WS token for horizontal whitespace.
Implement whitespace sensitivit...
d1677dab07ad9d4866ddc944c9b74296b486a26a authored about 2 years ago by Julia Ogris <[email protected]>
Fix typo in parser method names renaming parserDotExpression to
parseDotExpresion and parserInde...
Use ExprList parsing for Range expressions to incorporate new whitespace
rules. This means `for ...
Implement whitespace sensitivity:
1. Disallow whitespace after unary operator
2. Disallow whites...
Add WS token for horizontal whitespace to lexer in order to make WS
(or lack thereof) significan...
Fix `app_token` script by using `openssl enc -A -base64` instead of
`base64` because `base64` ad...
Disable `app_token` script and use marketplace action
`peter-murray/workflow-application-token-...
github: Commit brew formula on release
Automatically commit homebrew formula to
https://github....
Update docs for whitespace. While at it, remove a bunch of duplicated
sections in grammar. We ar...
Add builtin function `del` for entry removal from map:
del {a: 1} "a" // {}
Add builtin fu...
1b2d288f822ab2df592ab9f3d572e52f66581780 authored about 2 years ago by Julia Ogris <[email protected]>Add builtin function `del` for entry removal from map:
del {a: 1} "a" // {}
20d51b57d9f835625460dcd2e709d4389f4c993d authored about 2 years ago by Julia Ogris <[email protected]>Add builtin function `has` for entry existence check in map:
has {a: 1} "a" // true
f354b7d3fd5b979da3114a92b822d38457d9b382 authored about 2 years ago by Julia Ogris <[email protected]>
Refactor map of no type from EMPTY_MAP to GENERIC_MAP and similarly
refactor array of no type fr...
Fix assignment for new map key for statements like:
m := {}
m.a = 1
This previously errored ...
967ee845852500a7fae9b177ea2585320818fe7c authored about 2 years ago by Julia Ogris <[email protected]>Fix double index in target of assignment statements:
a := [[1 2] ([3])]
a[0][0] = 1
...
fc798558566c8e77cb16481228d11c19a86d9292 authored about 2 years ago by Julia Ogris <[email protected]>
Fix missing isUsed flagging for indexed arrays and dot accessed maps.
This is required as due to...
Fix double index in target of assignment statements:
a := [[1 2] ([3])]
a[0][0] = 1
previous...
38f156d7c85b310c5a83c27494580314c79a0af2 authored about 2 years ago by Julia Ogris <[email protected]>Add `for` statement parsing according to grammar.
for_stmt = "for" ident := "range" expr ...
d2d0451049d5cf5f06c77cf20d5dd15a003f1e64 authored about 2 years ago by Julia Ogris <[email protected]>
Add `for ... range` loop evaluation using the new AST nodes `for` and
`stepRange`. In order to p...
Add for statement to parser which has to match: `for IDENT := range
RANGE_EXPR`. Range Expressio...
Add slice parsing and evaluation for array and string. Ensure copy is made of array
elements whe...
Add slice evaluation for array and string. Ensure copy is made of array
elements when slicing.
Parse slice expressions alongside index expressions. While at it, fix
small bug: disallow string...
Fix `any`'s wrapping `any`'s so that `any` only ever contains a
non-`any` type. We have added tw...
Fix `any`'s wrapping `any`'s so that `any` only ever contains a
non-`any` type. We have added tw...
Reorder `make ci` dependences to float more common errors early. At this
stage the linter catche...
Add array concatenation for `+` operator. Ensure a copy of both operands is
made.
Fix parse err...
18643f6c79c5ffcb21986b0e2ee4b070e0492d82 authored about 2 years ago by Julia Ogris <[email protected]>
Add array concatenation for `+` operator. Ensure a copy of both operands
is made.
Fix array concatenation with empty arrays so that no "mismatched types"
error is returned. Renam...
Add index and dot expression evaluation in evaluator, similar to binary
expression evaluation.
...
f8b2aca9c01cb392c23aa6487ce0e6e7fb0ad404 authored about 2 years ago by Julia Ogris <[email protected]>