[erlang-questions] How to make this work

Fred Hebert mononcqc@REDACTED
Wed Aug 12 19:20:55 CEST 2015


On 08/12, Roelof Wobben wrote:
>Hello,
>
>Im trying this exercise from the programming erlang book.
>
>Roelof
>

Hi Roelof.

Honest advice here is that you really, really need to sit down and read 
more carefully through the documentation you have at hand, and to try 
experimenting with your programs a bit.  We've been through this months 
ago already.

Here's a quick list:

Feb 2015:

- http://erlang.org/pipermail/erlang-questions/2015-February/083087.html
 Valid question from the exercise book, because too simple of a solution 
 was indeed too simple.
- http://erlang.org/pipermail/erlang-questions/2015-February/083162.html
 correct implementations, but you confused strings and atoms. Those were 
 exercises from 'Erlang Programming' book. Atoms are introduced on p.19, 
 the exercises on p.44. 
- http://erlang.org/pipermail/erlang-questions/2015-February/083197.html
 This is a function again from Erlang Programming. The precise 
 implementation you are looking for for sum_acc/3 is on page 68, and is 
 not actually an exercise as mentioned
- http://erlang.org/pipermail/erlang-questions/2015-February/083217.html
 You found a compile error for mismatching heads. I'm not sure when in 
 the book it is, but I'd like to show you the link 
 http://learnyousomeerlang.com/errors-and-exceptions#a-compilation-of-errors 
 where I compiled the common compile errors, with their explanation and 
 how to fix them.
- http://erlang.org/pipermail/erlang-questions/2015-February/083233.html
 Valid enough question about list building, I have little to say here
- http://erlang.org/pipermail/erlang-questions/2015-February/083240.html
 Error on the syntax of atoms, again introduced on p.19. The error *is* 
 a bit cryptic though
- http://erlang.org/pipermail/erlang-questions/2015-February/083301.html
 Exercise from the Erlang programming book. Trying the guards you had 
 set in the shell with numbers would have revealed the problem directly 
 (as pointed out in the first response)

Fast forward to this month:

- http://erlang.org/pipermail/erlang-questions/2015-August/085382.html
 I'll point you for some like this to the same learnyousomeerlang link 
 in the future, it's also there!
- http://erlang.org/pipermail/erlang-questions/2015-August/085410.html
 The problem there was an unexported function. The error you saw was 
 probably something like 'undef'. In this case, and for other errors 
 happening at runtime, I'd like to redirect you to 
 http://learnyousomeerlang.com/errors-and-exceptions#run-time-errors 
 which includes descriptions for such errors and ways to fix them in 
 general. Note that the error is also described on page 70 of Erlang 
 Programming.
- http://erlang.org/pipermail/erlang-questions/2015-August/085419.html
 Dialyzer errors are legitimately confusing for a newcomer!
- http://erlang.org/pipermail/erlang-questions/2015-August/085438.html
 Valid question from 'make it work -> make it beautiful' as a progress
- http://erlang.org/pipermail/erlang-questions/2015-August/085496.html
 This very thread. The content there is from Programming Erlang 
 (Armstrong). If it's the second edition, I don't have it, but in the 
 first edition, the syntax to functions is explained on page 42. In 
 Erlang programming (which you also have), it's on page 190, and in 
 Etudes for Erlang, which you have also looked at, they're explained in 
 chapter 7 
 (http://chimera.labs.oreilly.com/books/1234000000726/ch07.html)

Don't get me wrong, I appreciate people posting to the mailing list. The 
thing is, I feel that it would be helpful for *your* learning as a whole 
to make use of the resources you have rather than coming to the list as 
often as you do. For one, the feedback loop and your progress will be 
much faster!

Out of the 12 email threads I have linked here, at least 6 of them could 
have been solved by re-reading the learning material you have in your 
hands (because that's where you take exercises and examples from), or by 
experimenting rapidly with the shell.

The other half were good questions to ask, so by all means, don't stop 
asking questions. Just make sure that you're not using us as your own 
private debugger!

Old timers from the industry will tell you stories of when they had to 
take punched cards or hand-written programs, had to go to their 
university department to make them run, wait hours or days before 
finding if things were alright, and then repeating this over again for 
every bug.

When you ask us to solve such problems for you while you have all the 
information required, you might just be throwing yourself back 30-40 
years in the past in terms of feedback loops!

You've got the material, the tools, and visibly the drive to do that 
stuff. It's likely going to be simpler in the long run to make a few 
experiments, run them, and see if you can figure it out (or go back and 
re-read significant chapters in one of the many books you have on the 
topic) than the time it takes for you to write an email and wait for a 
response.

Regards,
Fred.



More information about the erlang-questions mailing list