bryanjos

bryanjos

Hi, I just published version 0.23.0 of Elixirscript.

https://github.com/bryanjos/elixirscript/blob/master/CHANGELOG.md

Most of the changes are around JavaScript interop now that Elixirscript uses the Elixir compiler to compile and load files during compilation. This also means you can define macros in the same file now. Another bonus is that this release makes it a bit easier to share code between Elixir and Elixirscript.

That’s about it. Try it out and any feedback is always helpful.

First Post!

OvermindDL1

OvermindDL1

I’ve been tempted to write a little webcomponent or polymer or so integration with it to see how it works, be a nice little bite-size thing to test with. :slight_smile:

Most Liked

bryanjos

bryanjos OP

Hello I just published the latest version of Elixirscript. For a full list of the changes, take a look at the changelog The major changes in this version are:

  • Can select between ES, CommonJS, or UMD module formats for output
  • Can use and compile dependencies in mix projects (if dependency has the elixirscript compiler in its mix compilers)
  • Default input and output paths in mix projects

There is now an elixirscript organization with the projects that it uses. Also there is a newly created blog with the first post giving more details about the majors changes.

Finally, a gitter room was created for the project. The elixirscript channel on the elixir-lang slack still exists and I’ll still be there. The gitter room allows for integrations and keeps the history.

bryanjos

bryanjos OP

Just published version 0.27.0 of elixirscript. One major change is that super and defoverridable are now implemented. The other is that JavaScript functions, properties, and modules can now be accessed from the JS module, examples: JS.alert("hi"), JS.console.log("hi"), JS.Date.now()

For the rest of the changes, please check the changelog

bryanjos

bryanjos OP

No new release just yet, but thought I’d send an update.

Thanks to the changes in OTP 20 and Elixir 1.5, ElixirScript was rewritten and can now support almost all Elixir features besides receive. More information is in this blog post.

Another addition is a change in JavaScript interoperability with an FFI module. More information on that can be found here

Next I’ve update the Todo Example to work with ElixirScript in master. I have taken the react parts in made it into a library that it uses. Showing how an ElixirScript library could look. Basically a normal mix project with javascript files in the priv folder if neeeded.

Most of the work now is implementing whatever Erlang calls Elixir makes in JavaScript. That’s where contributions to the project are definitely the most helpful. The other is in fixing bugs that appear along the way.

For a release, hoping to have something before ElixirConf.

P.S: receive

Want to support this eventually. I would like to be able to implement a process system in JavaScript using async/await and use that in ElixirScript, but my brain can’t quite grasp how to do so. Any help there would be appreciated

Edit: Or using the current implementation that uses generators is a possibility, but async functions seem to play better with normal javascript functions.

Last Post!

tme_317

tme_317

Hmmm… maybe you would like using OCaml syntax instead of ReasonML syntax (both compiled to JS by Bucklescript) if you want a less verbose syntax. Although in that case not sure how you can use JSX. There is the bucklescript-tea project but instead of JSX it uses an Elm-style list-of-list representation of the DOM.

Maybe someone knowledgable over on the ReasonML Forums would know how you could use ReasonReact and JSX (which like you said is just calls to React.createElement) with the less verbose OCaml syntax. It must be possible I’ve just not seen examples.

I’m not as interested in the syntax but the excellent inferred typing (without using TS or Flow) is the big win for me. Biggest drawbacks is having to find (or write) bindings to random 3rd party JS libraries (if you need them) and the relatively small (but friendly) community. Anyway it might be close to what you are looking for.

Where Next? Top

Trending in Announcing Top

wojtekmach
Hey everyone! Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New
handnot2
Samly can be used to enable SAML 2.0 Single Sign On in a Plug/Phoenix application. This library uses Erlang esaml to provide plug enabl...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New
MRdotB
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
fuelen
Hi all! I want to present a small library which provides a mix task for generating an Entity-Relationship Diagram for Ecto schemas. You...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
AstonJ
This showed up on my feed.. anyone heard of it? Just hype? Ox Alpha is a reasoning model designed for coding, sustained ag...
New
sergio
It’s not that it’s vocabulary is too advanced. It’s something worse. I get lost trying to follow even a paragraph written by Claude. It’...
New
sorenone
Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operati...
New
akoutmos
@hugobarauna, Dr. Dimitrios Koutmos (my brother) and I (Alex Koutmos) have been hard at work on writing a book on how you can use Elixir ...
New
pferriby
Introductory paragraph I’ll be looking for a keen junior or someone that has a couple of years experience in the real world (so you’ve be...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews