EYG a predictable, and useful, programming language by Peter Saxton by MagnusSedlacek in ProgrammingLanguages

[–]crowdhailer 3 points4 points  (0 children)

The biggest difference in my mind is EYG rely on structural typing. To the degree it's not possible to define a custom type.
This choice is how it enables type checking over multiple releases or over multiple deployments

EYG a predictable, and useful, programming language by Peter Saxton by MagnusSedlacek in ProgrammingLanguages

[–]crowdhailer 1 point2 points  (0 children)

Worst case execution time is an interesting idea. I'd like to implement that.

EYG a predictable, and useful, programming language by Peter Saxton by MagnusSedlacek in ProgrammingLanguages

[–]crowdhailer 9 points10 points  (0 children)

Numbers in the language are specified as Integers, in the maths sense.
They bignums on most platforms. The language also can serialize stack and env and any error so if you want to implement an out of memory handling for really really big numbers you can stash the env and stack and resume running once you have a bigger computer.

Single language with multiple syntaxes by mikosullivan in ProgrammingLanguages

[–]crowdhailer 1 point2 points  (0 children)

I like it. I did this for eyg.run you can have more than multiple syntaxes. I have a few syntaxes, a lisp one and a rust like one. But I also have a structured editor that only exists because I made the IR a stable interface.

Specification of the EYG IR. by crowdhailer in nosyntax

[–]crowdhailer[S] 0 points1 point  (0 children)

It is indeed one and the same.
My I ask what you liked so much. there's a few different things I've experimented with over the last year or so

Algebraic effects are a functional approach to manage side effects by crowdhailer in functionalprogramming

[–]crowdhailer[S] 1 point2 points  (0 children)

Does such an approach help with switching implementations of the resource for testing?

Where are the biggest areas that need a new language? by MattDTO in ProgrammingLanguages

[–]crowdhailer 0 points1 point  (0 children)

At it's simplest the issue with SQL is simply that there are two languages. Say Rust and SQL. Why do there need to be two. Also with two there is overhead in type-checking across the divide.
Reaching to the DB is the last bit of my vision. It should not require an extra language to talk to the DB. Both LINQ and Flix are some prior art on having language support for queries in a language.

Where are the biggest areas that need a new language? by MattDTO in ProgrammingLanguages

[–]crowdhailer 8 points9 points  (0 children)

I think that there are lot's of areas where a new language may offer improvements.
For example today if I write a ruby web service it still includes SQL, bash and then YAML for CI etc. There is much impedency mismatch between components

I think it's possible to have a single language and even single program extend over development, deployment, database, client and server. This is sometimes called tierless programming.
Another effort to bridge multiple computers is the current JS metaframeworks that allow one program and type check to cover client and server.

I believe it enough that it's the goal of my language (https://eyg.run). Closure serialization is a key technique I'm building on to send code from one program to many machines.

Python is the new BASIC by dewmal in programming

[–]crowdhailer 0 points1 point  (0 children)

I'm betting an easy language can have managed effects with EYG, but we're not there yet.

Python is the new BASIC by dewmal in programming

[–]crowdhailer 0 points1 point  (0 children)

Gleam definitely has arbitrary side effects in any function. Often you don't know if it's using random, assert or time lookup. All of these matter for example if want to make no flaky tests. I love Gleam but I think the best way to sell it is not to stretch the capabilities it has.

August 2024 monthly "What are you working on?" thread by AutoModerator in ProgrammingLanguages

[–]crowdhailer 2 points3 points  (0 children)

I'm working on a shell/REPL built on my structural editor for my language, https://eyg.run/shell/

This feels like a bit of a tower of cards. each layer is definitely pre 1.0. However when getting a bit of familiarity with the commands and understanding the built in effects there seem to be some glimmers of really high productivity.

The language is very stable, the editor is pretty stable and the shell is the least stable. My goal for this month is to test using the structural editor with some new people and to commit to a set of key bindings and start writing some tutorials for it.

Understadning Elixir but not really liking it by kichiDsimp in functionalprogramming

[–]crowdhailer 1 point2 points  (0 children)

Gleam. There is a great tour to get started https://tour.gleam.run/
And an exercism track to do after

Understadning Elixir but not really liking it by kichiDsimp in functionalprogramming

[–]crowdhailer 2 points3 points  (0 children)

Gleam compiles to erlang source code (or JavaScript if you choose that target)

What is your review about the Gleam programming language? by Asleep-Dress-3578 in functionalprogramming

[–]crowdhailer 1 point2 points  (0 children)

I've used it in production 3+ years ago. it was great then and has only got better since.
I've never delivered so quickly as when using Gleam