"Datafun: a functional query language" by Michael Arntzenius

Поделиться
HTML-код
  • Опубликовано: 25 окт 2024

Комментарии • 5

  • @abdulshabazz8597
    @abdulshabazz8597 2 года назад +1

    The Derivative of a Fixed Point computes what has changed between iterations . So The Derivative is the Irreducible Residue that is left from the previous iteration. And the last and final iteration results in an Irreducible Residue that is itself irreducible . These in essence remind me of Euclidean primes, which satisfy the same characteristics.

  • @davidpiepgrass743
    @davidpiepgrass743 6 лет назад +2

    So... the first 15 minutes reinvents C# 3.0 (2007) using list comprehensions in place of LINQ.
    In the second 15 minutes, I don't know what "!y" is supposed to mean, but it looks like something that could be implemented as a macro in a language with LISP-style macros. For example, in Enhanced C# one could write a macro that recognizes "fix" such that the ancestor set is generated by something like
    fix Set ancestor = parent |
    from (x, y) in parent
    from (y, z) in ancestor
    select (x, z);
    Set parent = .... // Set type from Loyc.Collections
    Since macros run arbitrary code at compile-time, the macro could optimize the query at compile-time. Or using ordinary C#, one could write a `fix(ancestor => ...)` function whose argument is an expression tree, which optimizes the query at run-time. In either case, `fix` could be implemented based on the discussion in the last part of this video.
    So we don't actually need to invent a new programming language in order to obtain a programming language that supports new functionality. And even if you decide you need a new programming language, you don't necessarily need to invent a syntax for it ( see loyc.net/les )

    • @freshhawk
      @freshhawk 4 года назад +4

      He's giving the background, explaining the history of the stuff that lead to LINQ/list comprehensions/etc in the first section.

  • @clementdato6328
    @clementdato6328 2 года назад

    Where is the “general purpose programming is functional programming” coming from?
    For me, functional programming is imperative programming.