Simple programming language with offline usable browser IDE
31 comments
·May 29, 2025abjr
bertman
>Is it just a re-branding as Tiki?
Looks like it. The source link at the bottom of the page goes to https://github.com/chkas/easylang
abjr
Found this comment from the author: "tiki.li is a test variant of easylang.online"
layer8
This reminds me of Comal 80: https://www.reddit.com/r/c64/comments/1g8gqeu/comal_for_the_...
A programming language halfway between Basic and Pascal, with old-style REPL and Logo-like turtle graphics.
7thaccount
Although simplistic it does remind me of my dream for a simplistic command driven language that actually does the tasks I want in a simple manner. I'm not thinking of tcl either, but if powershell was a lot faster and included support for a lot more things kind of like the graphics language mentioned here. Calling out to the Microsoft GUI tools is such a pain and not worth it given the glacial performance.
WillAdams
I've actually been using OpenPythonSCAD for this sort of thing:
paired with:
https://www.blockscad3d.com/editor/
it lets me rough out an algorithm (see the section on arcs in: https://github.com/WillAdams/gcodepreview/blob/main/gcodepre... ) interactively, seeing the result on-screen --- then once I have the rough concept, I can re-write it in Python, retaining this interactivity.
EDIT: next step is to work up a batch file which has me running OpenSCAD on a series of files to output .png and .svg files to read them back in and place the output at the appropriate places in the document.
jerf
This seems a very surprising combination of technologies to turn into a visual prototyping language. Do you have a blog post or something on this topic that might expand on this workflow?
WillAdams
I suppose I should blog about this at: https://designinto3d.com/
but I've written a fair number of posts on it at:
https://forum.makerforums.info/search?q=gcodepreview
and it has come up a few times at:
https://community.carbide3d.com/search?q=gcodepreview
and on the OpenSCAD mailing list --- that latter might need to be extended back in time to encompass: https://github.com/openscad/openscad/issues/2017
EDIT: also see my post history here, and this post might be what you are asking after?
https://news.ycombinator.com/item?id=44108440
Reasons for the technologies:
- OpenSCAD affords 3D modeling
- Python was added to it which finally got me the ability to write out files _and_ mutable variables (programming this w/o them was an interesting intellectual challenge and resulted in a quite stilted programming style)
- G-code is the _lingua franca_ of CNCs, so modeling that seemed a natural fit
- DXFs are imported by many CAD and CAM applications, so supporting them was a no-brainer
- LuaLaTeX is the current (La)TeX implementation, and I've been using/learning TeX since first checking out a copy of _TeX and METAFONT_ from the local college library
Maybe the most important context is what my first project on my Shapeoko 3 entailed: https://community.carbide3d.com/t/locking-register-calipers-... --- drawing in Macromedia Freehand, making a one character font in Fontforge, doing V-carving using F-Engrave, then the balance of the CAM using MakerCAM (a Flash file formerly known as PartKam).
The over-arching name of the project is "Design Into 3D", so also see: https://willadams.gitbook.io/design-into-3d/programming and you may find the (very early) Tugboat article: https://tug.org/TUGboat/tb40-2/tb125adams-3d.pdf of interest.
Glad to answer any other questions you might have! I'm hoping to have a project ready for a "Show HN" before 4 July.
7thaccount
Nice setup to solve a problem. Seems like something I would do :)
WillAdams
Thanks!
I kind of wish that I could find some tool like to Jupyter Notebook which would work for my needs, but I always run into some odd limitation.
chrisbrandow
This really resonates for me. I have been thinking for sometime that it would be much more useful than scratch, if we could have a simple programming language with a simple canvas next to a text/console output, both of which were separate from the editor.
And ta da!! You’ve done it.
I really think this is wonderful.
xunil2ycom
So, basically Logo.
RHSeeger
That was my first thought; that it looks like a version of Logo; which holds a fond place in my heart from younger years.
mdaniel
Seems to be GPLv3 https://github.com/chkas/easylang/blob/394e29a44458ac67f8483... although I think the line right above that stating "All rights reserved" is actually incompatible with GPLv3 which is designed to grant rights, not reserve them. I am not lawyerly enough to know what the story is with that "must contain a built-in function" clause.
Kind of sad it's not self hosted yet :-D
n2d4
"All rights reserved" no longer means anything anymore. In the past, you had to state that you want to reserve copyright, but now this has become the default even if you say nothing.
Either way, this does not conflict with GPLv3; if the author decides to reserve all rights, and then use their reserved right to license the work under a certain license like GPLv3, that is totally fine. Notably, the phrase "All rights reserved" does not recapture any rights that you don't have. It is the same logic under which you're allowed to license your own GPLv3 code under a proprietary, non-FOSS license, but that doesn't revoke the GPLv3 license itself.
ornitorrincos
I'm more worried on the advertising clause, which would afaik make it gpl-incompatible for anyone else. (and probably also unfit for osi defined open source)
ModernMech
> Kind of sad it's not self hosted yet :-D
Self hosting a language is only really a useful exercise if the language is designed for writing compilers. Easylang doesn't seem to be intended for that, so there are always better things to spend one's time on, as there's an infinite amount of work that goes into making a language, and writing a compiler is not a trivial task. There are better ways to stress test a language.
jcmontx
It's like a DSL for graphics, really really cool!
WillAdams
If that is what one wants, then why not Logo, or METAPOST, or TikZ?
bn-l
Who is this aimed at? Kids? If so it is unbelievably far off the mark.
hyperhello
It’s probably just aimed at scratching an itch of the person who designed it. Often when I see “for kids” I see a simplification of what adults would think. Here I see…JavaScript without brackets and parentheses.
bn-l
If it is designed for kids then it is off the mark.
mike_ivanov
Depends on the kind of kids. I find the approach perfect for the 10-15 years old age group.
lukaslalinsky
It has a similar vibe to the BASIC I was starting with at around 10-11 years old. When I first saw this, I was thinking it could be a good first language for someone who is actually eager to learn more, but doesn't need to be exposed to the realities of the IT world.
gus_massa
I made a somewhat similar project for My daughter when she was 8 or 9 y.o. It was a turtle that has to turn instead of using absolute coordinates like in this article.
mike_ivanov
There are 3yo kids, 5yo, 15yo ... 50yo kids. All are different. Don't judge by your own inner kid age.
istjohn
Why do you say that? It seems like a great halfway point between Scratch and Python.
delusional
How come? When I was learning HTML 20 years ago it was all angelfire sites and w3schools. This seems like a reasonable analogue to that. It doesn't have to be for all people in an age group.
chrisbrandow
Why?
James_K
There are people who don't know how to program, not necessarily because they are young, but because it hasn't been relevant in their lives yet.
SoftTalker
This is most people, and it will never be relevant in their lives ever.
I've always heard of this as Easylang https://easylang.online/
Is it just a re-branding as Tiki?
Anyway, the author does AoC every year in it: https://easylang.online/aoc/ which I admit I have referenced during my own attempts.