Behind the Scenes
4 There's More to the Story ...
... than what you've seen so far! There is a lot to learn about LFE, the tooling around it, creating projects, bringing to bear 20 years of hardened telecom experience from Erlang, deploying in production, etc. This guide just gives you a quick taste of the LFE flavour :-) Before parting ways, though, there are some more bits we should share.
4.1 The LFE REPL
We barely touched upon the LFE REPL in this guide; if you're like many other Lispers, you will spend a considerable amount of your dev (or at least planning) time in the REPL. More information on the LFE REPL is available in the following locations:
4.2 More LFE
4.2.1 The Official Tutorial
The "official" Erlang tutorial has been ported to LFE and is available as a Gitbook here:
There is still a bit of work for the authors to do before it is 100% complete, but it is useful right now. The topics covered include:
- Sequential programming - installing LFE, the REPL, functions, modules, data types, the standard library, writing to the terminal, pattern matching, guards, conditionals, built-in functions, and higher-order functions
- Concurrent programming - processes, message passing, registered processes, and distributed programming
- Robustness - timeouts and error handling
- Records and macros - header files, records, and macros
4.2.2 Casting SPELs
If you are an "adventurous" sort, you can write your own text-based game using LFE message-pasing, state-managment, and even process closures in this rewrite of the Lisp classic:
4.2.3 SICP, Chapter 1
For those with an interest in details, theory, and even history, the first chapter of The Structure and Interpretation of Computer Programs has been ported to LFE:
4.2.4 LFE/OTP
If you'd like to learn more about OTP in LFE, there is a growing number of tutorials available on the LFE blog highlighting this topic:
4.3 Additional Resources
If this guide has left you feeling thirsty, then welcome to LFE! Here's some more to drink:
- The official User Guide from the LFE codebase
- The LFE Documentation Site
- Example code in the LFE repository
- Tutorials
- Light-weight Erlang processes in LFE
- Building RESTful web services on YAWS with LFE
- Community-contributed tutorials
- Github Organisations
- LFE Mailing List
- LFE Community on Slack
4.4 Feedback and Docs Bugs
If you would like to provide feedback about this guide, we would welcome the chance to improve the experience for everyone. Please create a ticket in the Github issue tracker. Be sure to give a full description so that we can best help you!
Next Stop
There are any number of things you could tackle next, depending upon your general programming experience, learning style, and interest in LFE. Here are some ideas:
- Read up on Erlang itself -- the site has links to great Erlang books
- Read the source code for various projects in the LFEX organisation on Github
- Watch LFE presentations
- Read up on Lisp, Erlang, and LFE history
- Practice LFE and get feedback from the community by working through the LFE Track on Exercism
- Fix a bug in:
- LFE Docs
- An LFEX project
- LFE itself!
- Create a project of your own :-D