Lambda-8cc

Dev tools

c compiler

SHOW HN2022

249points
29comments
#195of 2,570 in 2022
Top 8%of 2022 by points

How HN took it

MixedNo clear lean

10 positive, 8 neutral or asking, 0 mixed, 3 critical, out of 21 comments about the project. Thread score +0.38.

Idea: 3 for, 1 againstPerformance: 0 for, 2 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Impressive, spectacular and entertaining as a demonstration of commitment to the concept

    From 4 comments
    • This is the most spectacular waste of time I have ever seen. I absolutely love it!
      c-linkage on HN
    • I’m in awe. Spectacular.
      zoom6628 on HN
    • Hot dog. I dreamed of writing something like this, and this guy actually goes and does it. Mad props.
      apricot on HN
    • I admire the commitment to the schtick.
      newobj on HN
  • Useful as a bootstrapping idea for binary lambda calculus

    From 2 comments
    • Not necessarily, this actually sounds like a great bootstrapping tool. All you need to write on a new platform is a BLC interpreter, which should be easier to implement. Using…
      daptaq on HN
    • Now we need an untyped lambda calculus compiler for C!
      pharmakom on HN

Objections

  • Requires huge RAM and time to compile, making it impractical

    From 2 comments
    • I would think that the amount of RAM used by the lambda-monster (100+ GB to compile single-page C files) would make a practical application like that rather unpractical, for the…
      unwind on HN
    • primes.c takes 241GB to compile Nice
      graderjs on HN
  • Hand-written lambda code would be far smaller

    From 2 comments
    • Meanwhile a prime number sieve written directly in binary lambda calculus takes no more than 167 bits (under 21 bytes).
      tromp on HN
    • The hint file [1] of my 2012 IOCCC entry provides a nice introduction to the binary lambda calculus that this awesome piece of work runs on. All the lambda terms on that page…
      tromp on HN

Requests

  • Binary lambda calculus back-end for ELVM

    From 1 comment
    • The hint file [1] of my 2012 IOCCC entry provides a nice introduction to the binary lambda calculus that this awesome piece of work runs on. All the lambda terms on that page…
      tromp on HN

Questions

  • Is the output the normal form, and can it be minimized by avoiding beta reduction

    From 2 comments
    • Is the 18506 pages long lambda term the normal form? I wonder how much that can be minimized by not beta reducing everything.
      atennapel on HN
    • Ah yes, that makes sense. But is that PDF really the most minimal form? I can imagine if we write a program using lets: ``` let nil = \n c. n; let cons = \hd tl n c. c hd tl; let…
      atennapel on HN
  • How the pipeline works: C to ELVM IR to lambda calculus

    From 1 comment
    • How does it work? Is it translating the C source code of the 8cc C compiler to lambda calculus? So like C -> ELVM IR -> lambda calculus? https://github.com/shinh/elvm If so, it…
      chubot on HN

Alternatives named

  • INTERCAL

    From 1 comment
    • Definitely ranks up there. My favorite is still INTERCAL [1] since the result is actually useful, and it ranks high on the levity meter. [1] https://en.wikipedia.org/wiki/INTERCAL
      cek on HN
  • TinyCC

    From 1 comment
    • Not necessarily, this actually sounds like a great bootstrapping tool. All you need to write on a new platform is a BLC interpreter, which should be easier to implement. Using…
      daptaq on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/33115719)