imeraj

imeraj

Advanced Functional Programming with Elixir: Problem Running Code Example

I am reading this book with great enthusiasm.

So far the code works great but while running the examples in Predicates That Span Contexts section I am encountering some function arity errors as below -

iex(13)> FunPark.Ride.eligible?(alice, tea_cup)
** (FunctionClauseError) no function clause matching in FunPark.Monoid.FunPark.Monoid.PredAll.wrap/2

    The following arguments were given to FunPark.Monoid.FunPark.Monoid.PredAll.wrap/2:

        # 1
        %FunPark.Monoid.PredAll{
          value: &FunPark.Monoid.PredAll.default_pred?/1
        }

        # 2
        #Function<1.2796843/2 in FunPark.Ride.tall_enough?>

    Attempted function clauses (showing 1 out of 1):

        def wrap(%FunPark.Monoid.PredAll{}, value) when is_function(value, 1)

Apparently, we are passing two arguments instead of one here -

def eligible?(%Patron{} = patron, %__MODULE__{} = ride),
    do: p_all([&tall_enough?/2, &old_enough?/2]).(patron, ride)

I ran the book’s sample code and it works fine. But it has code with curry.

I am wondering if the example code from this section is supposed to run without curry as I am typing in the code as I go.

Thanks!

First Post!

luistavera

luistavera

Hi

I am running into the same issue. I think this is an error in the book since the Predicate expects a function with arity 1. The following works:
def elegible?(%Patron{} = patron, %MODULE{} = ride) do
te = fn patron → tall_enough?(patron, ride) end
oe = fn patron → old_enough?(patron, ride) end
p_all([te, oe]).(patron)
end
Cheers

Where Next?

Popular Pragmatic Bookshelf topics Top

jon
Some minor things in the paper edition that says “3 2020” on the title page verso, not mentioned in the book’s errata online: p. 186 But...
New
HarryDeveloper
Hi @venkats, It has been mentioned in the description of ‘Supervisory Job’ title that 2 things as mentioned below result in the same eff...
New
alanq
This isn’t directly about the book contents so maybe not the right forum…but in some of the code apps (e.g. turbo/06) it sends a TURBO_ST...
New
AndyDavis3416
@noelrappin Running the webpack dev server, I receive the following warning: ERROR in tsconfig.json TS18003: No inputs were found in c...
New
curtosis
Running mix deps.get in the sensor_hub directory fails with the following error: ** (Mix) No SSH public keys found in ~/.ssh. An ssh aut...
New
hgkjshegfskef
The test is as follows: Scenario: Intersecting a scaled sphere with a ray Given r ← ray(point(0, 0, -5), vector(0, 0, 1)) And s ← sphere...
New
New
taguniversalmachine
Hi, I am getting an error I cannot figure out on my test. I have what I think is the exact code from the book, other than I changed “us...
New
EdBorn
Title: Agile Web Development with Rails 7: (page 70) I am running windows 11 pro with rails 7.0.3 and ruby 3.1.2p20 (2022-04-12 revision...
New
SlowburnAZ
Getting an error when installing the dependencies at the start of this chapter: could not compile dependency :exla, "mix compile" failed...
New

Other popular topics Top

DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
PragmaticBookshelf
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New
AstonJ
If you want a quick and easy way to block any website on your Mac using Little Snitch simply… File &gt; New Rule: And select Deny, O...
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
AnfaengerAlex
Hello, I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New
PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
New
RobertRichards
Hair Salon Games for Girls Fun Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New

Sub Categories: