Daily Coding Problem 10MAY2020

I am subscribed to dailycodingproblem.com. From time to time I will share problems I attempt and have a discussion around it. My solution might have bugs or might not be the most efficient but it would be my attempt. Feel free to criticise.

Today's problem I got

This problem was asked by Jane Street.

cons(a, b) constructs a pair, and car(pair) and cdr(pair) returns the first and last element of that pair. For example, car(cons(3, 4)) returns 3, and cdr(cons(3, 4)) returns 4.

Given this implementation of cons:

def cons(a, b):
    def pair(f):
        return f(a, b)
    return pair

Implement car and cdr.

This was my solution in javascript. I am using the Javascript for Android app.

function cons(a,b) {
  return function pair(f) {
    return f(a,b);

function car(pair) {
  function first(a,b) {
    return a;
  return pair(first);

function cdr(pair) {
  function last(a,b) {
    return b;
  return pair(last);


The language they used looks like Python. I am solving in javascript. Javascript is one of those languages that also supports closures. A closure is where a function is linked to its referencing environment.


Popular posts from this blog

My Experience Setting Up FLOW's TG2492LG-FLO WIFI Modem

You can sign up for Elon Musks Space X Star Link Satellite Internet from Trinidad and Tobago

Tech in Trinidad and Tobago Budget 2022