Javascript to Elm

Javascript to Elm

jstoelm.com
A podcast about using Elm coming from Javascript and other languages
46: Web Components Implementation
Aug 16 • 20 min
We want to dive in and actual tackle a web component. And what better way than with meownotes. We are going to try and upgrade the text input from textArea to super duper markdown editor using JS Lib custom web component.
45: Exploring ReasonML
Aug 9 • 26 min
There was a presentation locally on ReasonML, so I went and learned. We’ll compare it to our experience in React our current favor Elm, and what we can take away from this new player in the frontend space.
44: Elm and Web Components
Aug 2 • 29 min
Based on 2 events. Luke Westby’s talk at Elm Conf, and the most recent episode of the frontend Happy Hour podcast about…. web components. So I’ve heard about them, and meh, didn’t seem to solve any immediate problems I’ve been having, but I don’t actually…
43: Finally in Production
Jul 26 • 33 min
Do it already?!?!? What’s the hold up? Where are we with new notes page in Elm ? I needed to make a list. So here it is, let’s go through it.
42: Little Details
Jul 5 • 34 min
We’ve done some great refactor work, but forgot one of the rules to our project. Keep it working, keep it in production. And our elm branch for new Notes is neither in production, or even fully functionaly in our dev environment. We always fine some small…
41: Refactor the Model for Greater Good
Jun 21 • 32 min
So we have been avoiding wrapping up our new Note page converting it over to Elm, and in that respect we’ve been doing a pretty good job I’d say. I feel like it was a huge first lift to get most of it working, which is why I’ve been hesitant to dive back…
40: Rust in Production with Docker
Jun 14 • 37 min
From local webapp Rocket with Rust last week, to getting the whole thing into production. If there’s one thing I’ve learned over the last year, it’s that any evaluation/project/proto-type/mockup/thing is best examined by taking it from localhost all the…
39: Rust For Better Elm
Jun 7 • 21 min
I have, for a long time, wanted to stretch my functional type safe ways into other areas of programing, to better round out my skills. And I waffled between backend languages quite a bit. If you follow us on twitter, you likely remember questions about…
38: Elm File Upload
May 31 • 29 min
Hope last weeks talk was enjoyable. Back to our refactor of meownotes. Tackling some of the more _interesting_ parts of the new notes page. Things that I’ve been avoiding, like file upload, mostly because I knew I’d need to modify my model, Interop some…
37: Elm View Showdown
May 24 • 23 min
A special live recording of my talk at Elm Eug on Elm View, the showdown. A continuation of the first and second blog ‘Blazing Fast HTML’ Parts 1 and 2, comparing Elm render time and optimizations against other frameworks out there.
36: Elm Second Component
May 17 • 21 min
We find that looking closer at replacing new note creation isn’t as easy and 1, 2, 3! Who would have that. You’d think after the 10,000th time we’d learn, it’s never as straight forward as we thought. Ok, so let’s regroup, come up with a strategy for…
35: Elm Forms
May 10 • 21 min
We’ve made a lot of progress over the past weeks and months. It’s time to sink our teeth into New Notes form. At it’s basic we want to have the text into, attach a file, and a create button. And then more!!!
34: Elm With Flags
Apr 26 • 22 min
So we are at that point when it’s time to expand our app to have more than a single component in Elm. A couple weeks ago we started down the path of routing, by refactoring the core of our app, main state and routing, into Elm. This turned out to be a bit…
33: Stay in Production
Apr 19 • 24 min
So I all the rewriting and refactoring, we haven’t shipped out a release of meow notes in a while. The first rule of our refactor was to always keep it in a state of usability. That way problems we have, or choices we make will come up sooner, rather than…
32: Elm Routing
Apr 19 • 20 min
As I’m looking at the ways that I can get tackle having Elm over take our React app, I’m a bit stumped by routing. For review, we’ve got an onClick event in our list of notes in the ‘Home’ module that should take use from the root of our application ‘/’,…
31: JavaScript is the New C
Apr 5 • 20 min
My thesis is that in a few short years JavaScript will be considered in the same realm as programming in C. Meaning to write an application in JavaScript will be considered “mid level”, error prone, dangerous (dangling pointers), lowest common…
30: Total Elm
Mar 29 • 24 min
Not treating ports as an http request is hard. We want to think if more as a messaging service using the actor model pattern, and set up a single pair of ports for our Elm and JS to interact. Let’s see what that looks like, and if we understand it?
29: Elm in React Live
Mar 15 • 31 min
In lieu of this week’s episode we have a special presentation from my talk at Phoenix React JS meetup that I gave on March 14th.
28: Ports Multiplying
Mar 8 • 31 min
We are back to meow notes, adding our onClick event from Elm back to React to route either to a new note, or an existing note by note.id. This is going to require us to poke another hole in our ports, but remember Murphy’s warning, not to treat this like…
27: State of Elm
Mar 1 • 27 min
I thought it would be great to talk about the current state of Elm, with the yearly survey closing in a few days, talk about what previous year’s results have told us, go over what the questions for this year and how I answered them, and make any…
26: Ports, JSON, and Elm render
Feb 22 • 25 min
We left off our app with being able to pass the return JSON from our fetch promise to get a list of notes through ports to Elm, and debug logging that out. At this point I thought, “success!”. You might even recall, I glossed over rendering it to a list,…
25: Now With More Elm
Feb 15 • 28 min
Now we have Elm working inside of our react app, its time to pick a spot, feature, or pain point and get to refactoring with Elm. There are several ways to tackle this, we’ll cover a few of the different ones, and what ultimately worked for us in meow…
24: Adding Elm
Feb 8 • 20 min
We’ve got our project up and running, and now’s the time to start refactoring it into Elm. How do we get Elm to play nice with our React app, better still what part of the app should we start with? There seems to be more questions than answers, but we’ll…
23: Bouncing Back
Feb 1 • 27 min
Recovering from our project last week was, to put it kindly, rough. It was a real blow to my self confidence. To be fair, my ambition was on the scale of ridiculous, but I didn’t think that I would be utterly and completely shalacked. The feeling I had…
22: Project. Make Something
Jan 25 • 26 min
Taking a break from the compiler project, but only for now. I feel the need to exercise a bit more of the of the productive side. I’ve had this idea, for a long, long time. And have basically been building it in my head for the last year.
21: Building a compiler. Part 2
Jan 18 • 21 min
In full swing building our compiler interpreter. We’ve got our lexer working nicely. Now for the meaty part of it. The process of taking all the source code that is now tokenized, and outputting into a data structure is the job of the parser. This output…
20: Building a compiler. Part 1
Jan 11 • 25 min
Something I’ve wanted to know more about, having missed out on the usual opportunity during a CS degree, is the process of a compiler. How we get from source code to running byte code on the other end. The process of writing Elm that compiles to…
19: More than Just Functions
Jan 4 • 21 min
The idea of functional programing is more than just the use of functions, or functions as first class citizens. It is a real paradigm shift in the way we think about tackling problems with code. A lot of what brings me, and others, to Elm is the desire to…
18: Ports by example
Dec 20, 2017 • 22 min
It’s time to dive right in with several uses of Ports in Elm, what better way than by example! Ports are Elms way of interacting with the outside world, currently with JavaScript, but the sky is the limit.
17: Ports: Playing well with others
Dec 14, 2017 • 24 min
Working on Elm, but we still want to leverage our favorite library or something else from the vast ecosystem that is JavaScript or other languages. Is there a way to communicate across the boundries from Elm into JavaScript, and back, safely. There sure…
16: Haskell for the Greater Elm
Dec 7, 2017 • 32 min
We Turn our attention back to Haskell to help us get the best possible foundation for really diggin’ into functional programing. For me, only after doing piles of short examples, does it sink in for me, it’s the repetition and console output that is key.
Elm Conf 2017
Dec 6, 2017 • 25 min
Elm Conf was a little more than a month ago. I didn’t get a chance to go, as I had already spent my conference capital, but Elm Europe is in July, and who knows? I wanted to discuss a few of the talks I found interesting, and share my thoughts.
15: Maybe, Just, and Nothing
Nov 30, 2017 • 30 min
Maybe is a container, union type, type constructor. So, um, what does that mean? In Elm, null and undefined are not valid types, so what do we do when we might not have something? Let’s figure it out, and when it’s useful.
14: Webassembly
Nov 22, 2017 • 22 min
Taking a look at webassembly. A new compilation that brings more than just JavaScript to the web,allowing memory managed apps like, C/C++ and Rust to be compiled down to assembly and run in the browser environment. This along side your current JavaScript…
13: To Type or Not to Type
Nov 16, 2017 • 31 min
Coming from JavaScript, as a tool I use everyday, one that powers so much of the web and beyond, I wanted to look at a comparison of what we get out of using static types in a language like Elm versus JavaScript. This was spured by a paper To Type or Not…
12: Fetch & Decoding JSON Part-2
Nov 8, 2017 • 34 min
We are there. Finally. Decoding Json. Things we have learned up til now are will culminate into fetching Json data from a server endpoint, and transforming that into type safe Elm to be able to use in our Elm applications.
11: Fetch & Decoding JSON Part-1
Nov 2, 2017 • 28 min
One of the fundemental tasks of any web app, is to get, display, capture, save, manipulate, or otherwise man handle data from an http request. We are gonna dive into what that means for our model, our update function, and our sanity.
10: Taking Functional Back to JS
Oct 19, 2017 • 31 min
We’re gonna look at some of the core functional principles that we’ve learned thus far in using Elm. And how we can, as JS developers, leverage these in our day to day jobs with JavaScript. The idea being that a lot of us aren’t writing Elm or Haskell for…
9: Union Types, save me from myself
Oct 12, 2017 • 32 min
A dive into Union Types, with it’s ability to represent complex data type, we are gonna really want to understand and leverage this power when the data in our app can take on different forms at different times. When you have uniquely shaped data, reach…
8: Types with Help
Oct 5, 2017 • 24 min
Compiler help. The promise of Elm is no runtime errors. This has been proven in large code bases like that of NoRedInk. But how can it make such a claim? Elm has a strong, static type system.
7: Deeper Understanding with Haskell
Sep 28, 2017 • 33 min
We take a slight detour with this episode from the Elm Architecture to dive into the Language Haskell. Elm is very Haskell like, and borrows a lot of types, terminology, and syntax from this pure functional language. So it’s a good idea to understand…
6: Elm Architecture with Effects
Sep 21, 2017 • 27 min
We will take a look at the some of the deeper features of the Elm Architecture. So instead of producing Html from from update in the Elm runtime, we’re going to produce Commands and Subscriptions. Like Htlm, we are going to describe what we want with some…
5: Elm Architecture
Sep 14, 2017 • 33 min
Looking into the Elm architecture in detail, what is, how it evolved, and more importantly how to apply it to our Elm projects.
4: Rendering HTML
Sep 7, 2017 • 29 min
We will take a look at rendering our Elm to HTML using several libraries. The basic structure of getting that compiles JS from our Elm code into a div element. We will also go over a lot of the tooling used in getting all of this accomplished.
3: Collections
Aug 31, 2017 • 28 min
We look at the basic collections in Elm, lists, records, and tuples and how they compare to JavaScript arrays and objects that we are more familiar with.
2: Expressions and Function
Aug 22, 2017 • 27 min
We tackle expressions and functions in Elm. Compare and contrast them to what we might already know in Javascript, and try to lay a solid foundation to build upon.
1: HelloWorld
Aug 16, 2017 • 20 min
Excited to get this thing started! Covering why this show, what I hope to accomplish, what I hope you, as the listener, can get out of this. All the great things, I think, Elm has to offer and more.