Easiest way to get started with Elm so far!

446 views
Skip to first unread message

Evan Czaplicki

unread,
May 9, 2015, 3:34:53 PM5/9/15
to elm-d...@googlegroups.com
I made a package called start-app yesterday.

The goal is to get people started with the absolute minimum number of concepts, so it lets you use the Elm Architecture without getting into signals or mailboxes at all. It's just about writing pure functions and working with data.

I'm planning to write a quick blog post about it and do a broader announcement on Monday when people get back on the internet :)

Aaron VonderHaar

unread,
May 9, 2015, 8:07:02 PM5/9/15
to elm-d...@googlegroups.com
Cool!  I don't know if this will fit in with the goal of simplicity, but I added testing to start-app, since that's the slowest part for me when I make a new project: https://github.com/evancz/start-app/pull/1

--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Patrick Ester

unread,
May 12, 2015, 11:33:36 AM5/12/15
to elm-d...@googlegroups.com
I got really excited when I saw this announcement. I am interested in making programming easier for beginners, and I think Elm has a lot to offer. The first I noticed is that the app did not look what I expected. This probably has to do more with me than Elm or what Evan created. However, I can't help but wonder, where are the collages and containers? I counter is nice and all, but just how engaging is it? I don't mean to be rude in my comments, but Seymour Papert showed with Logo and his turtle that beginners (and again, I'm a teacher so I constantly think in terms of kids; this may cloud my judgement) need an object to which they can relate. In 2015, a counter isn't it. With the proliferation of mobile computing device, apps, and games, beginners need something more. I really like just how easy it is to create and animate shapes in Elm. I think there is something to be said of getting beginners started with some a bit more graphical than a counter.

Jeff Smits

unread,
May 12, 2015, 12:58:41 PM5/12/15
to elm-discuss

Patrick, maybe playground is more to your liking then. Do note that it hasn’t been updated to 0.15 yet though. But it doesn’t do anything crazy AFAIK so it should be easy to update.

--

Patrick Ester

unread,
May 12, 2015, 1:35:28 PM5/12/15
to elm-d...@googlegroups.com
But you still have to go through all of the imports of Graphics.Element and Graphics.Collage etc. I think it would be useful if there was something like import start-game and everything needed would already be accessible.

Max Goldstein

unread,
May 12, 2015, 6:18:02 PM5/12/15
to elm-d...@googlegroups.com
Patrick, would you want a general-purpose wrapper around some of Elm's trickier functions? Or a LOGO game written in Ellm, but playable without the source? Or a LOGO implementation in Elm itself, where Elm functions are reusable LOGO code?

Patrick Ester

unread,
May 12, 2015, 9:22:32 PM5/12/15
to elm-d...@googlegroups.com
Max, those are good questions. I don't yet know what I want. I will be evaluating Bootstrap World (www.bootstrapworld.org) and WeScheme (www.wescheme.org) next year with 6th grade students. I am also going to take a look at Realm of Racket (http://www.nostarch.com/realmofracket.htm and www.realmofracket.com) this summer. These are functional languages aimed at beginners. I want to see what they do and how they present the information. I hope to have a better idea as the months go on. Your questions give me something think about.

Max Goldstein

unread,
May 12, 2015, 11:33:55 PM5/12/15
to elm-d...@googlegroups.com
Glad I could be helpful. For younger students, I'd recommend Scratch. The physical blocks show what functions are available, and they can't be combined in an invalid way (no syntax errors). If your students can handle text-based languages, functional concepts, and sometimes difficult error messages, then Elm should certainly stay on your radar.

Here's a very rough sketch of how one might go about writing a LOGO library in Elm.

type alias Movement = List Step
type Step = Forward Int | Back Int | Right Int | Left Int |
            Scale Int | Pen Color | Randomized (Float -> Step) | Teleport (Int, Int) | Make Movement

turtle : Movement -> Signal Element
turtle m = {- traverse the data and render the path, possibly with animation -}

-- example functions your students might write
corner : Movement
corner =
  [ Forward 5
  , Right 90
  ]

square : Movement
square =
  List.repeat 4 (Make corner)

main = turtle square

I might have to go write this now...

Srikumar Subramanian

unread,
Jun 19, 2015, 8:51:51 AM6/19/15
to elm-d...@googlegroups.com
This is nice. 

There's been some discussion earlier on modular components in the past. When I looked at StartApp, it looked like an "Automaton". Would that be the recommended modularization approach then? For example, see - https://gist.github.com/srikumarks/7aeff1ae24d7884bbd9c . I still see the Automaton library being incomplete in some respects that I haven't fully groked yet. For example, the automaton's output is only expected to change when the input changes, which feels very limiting. Are there some extensive usage examples for Automaton to learn from?

-Srikumar
Reply all
Reply to author
Forward
0 new messages