Live data from Hacker News

The Functional Database [video]

infoq.com

1–10 of 37 posts

Re: The Functional Database [video]

#6
post #3

Can someone provide a one paragraph definition of the functional database?

I expect it to be like this:

    (SELECT
      ("id", "login", "first_name", "last_name")
      FROM (users)
      (WHERE
        (and
          (or
            (eq "login" login)
            (eq "email" email)
          )
          (eq "password" (bcrypt password))
        )
      )
    )
(Sorry, couldn't fit more parentheses in this)

Re: The Functional Database [video]

#7
post #3

Can someone provide a one paragraph definition of the functional database?

> Summary > Rich Hickey discusses how a functional database can impact the programming model, using Datomic as an example, but the principles apply to other systems using an immutable database.

It's just an advert of Datomic.

Re: The Functional Database [video]

#8
post #2

Video quality sucks hard. Is the source code from presentation available anywhere?

InfoQ is a pain in the ass, but if you open an account with their crappy site, as mentioned by others, you can download the presentation slides at the least. Not sure if the code mentioned will be clear, or even copy-pasteable. I know this is probably not what you are looking for, but that is probably the best you can do.

Re: The Functional Database [video]

#9
post #3

Can someone provide a one paragraph definition of the functional database?

Is three ok? Using my limited experience playing with Datomic:

A functional DB replaces a "row" that only holds the current state of the world with a list of timestamped "facts" that can represent either the present or any point in the past.

Instead of simply recording "Bob's favorite food is pizza," we record that "'Bob's favorite food is pizza' was added at Time X." If Bob decides his favorite food is now ice cream, we record that "'Bob's favorite food is ice cream' was added at Time Y." At any time, we can query Datomic to get the current state of the world--"Bob's favorite food is ice cream." But note that we can also query Datomic to get any past state of the world. If our query is "what was Bob's favorite food 10 minutes before Time Y?" the response will be "pizza."

A regular database is like a sheet of paper that is continually erased and drawn over with a new world-state. Datomic, as a "functional database," is like a flipbook with an updated state on every page.

Re: The Functional Database [video]

#10
post #9
post #3

Can someone provide a one paragraph definition of the functional database?

Is three ok? Using my limited experience playing with Datomic: A functional DB replaces a "row" that only holds the current state of the world with a list of timestamped "facts" that can represent either the present or any point in the past. Instead of simply recording "Bob's favorite food is pizza," we record that "'Bob's favorite food is pizza' was added at Time X." If Bob decides his favorite food is now ice cream…

Doesn't that mean that the database continually grows in size?
Post reply on HN