Hacker Newsnew | past | comments | ask | show | jobs | submit | yairchu's commentslogin

Lean is a currently-niche programming language / proof-assistant. A proof assistant is basically a tool to construct mathematical proofs, which verifies that the proofs are correct like how a compiler verifies types in your programs.

IIUC a regular programming language with a certain set of restrictions already duals as a proof-assistant as discovered by Curry & Howard. By restrictions, I mean something like how Rust forces you to follow certain rules compared to Java.


The link in "A redesign of our backend, Sanakirja, to make it significantly faster", to https://pijul.org/posts/2022-01-08-beta/2021-02-06-rethinkin... is broken (I get a "Not found")


Indeed. I just fixed it.


Images in the linked articles are broken, since the links do not include a trailing "/".


For me still NotFound


The linked shown above is the erroneous one, the correct one is https://pijul.org/posts/2021-02-06-rethinking-sanakirja/


Ive used tqdm 20 years ago


I've used tqdm 30 years ago!

Although the first release on pypi was in 2013: https://pypi.org/project/tqdm/#history


Way before @noamraph put it up on in pypi it was internally available in our company. To my knowledge he didn't yet make it 30 years ago, but if he did then probably at least not for Python!


Wise of you...


Facebook runs a lot more political ads than Google and it’s commercial ads that are halting.


Political ads make up a small fraction of overall ad spend though.


Do folks generally keep with the regular secrecy in this situation?

(regarding ANA's "More than 50 years ago, the FDA approved a drug. Today, we’re evaluating that drug as a treatment for COVID-19")


I also found that extraordinary. With such limited information it is not possible to know if the contacts I have are relevant, and how serious and progressed the company are.

After all if I suggest something I'm putting my reputation (in part) on the line, which I'm not prepared to do without at least understanding this is a serious proposal, and the science being at least superficially credible.


Imho her blog is a valuable resource. Can be used to point out "here's what could happen if you do X" in specific cases and in general as "here are a lot of examples for why things should be done in a non-messy way".


Is there any other plausible explanation?


It's based on fear, copying the last person, vanity, greed, fraud and elitism. Money laundering is possible but a transaction like that with art will trigger an audit in best of times and the government will demand proof of worth. Easy to give with a Warhol harder to do with an unknown painter.


> exceptionally good education.

Is that so?!

I’m an Israeli and I assumed that it’s the really bad education that is responsible for stronger skepticism and Chutzpah.


I have heard that Technion, huji, tau are good schools for cs/ee.


They are great, but academy is not the breeding grounds of NSO and its ilk.


> So why do we bother with all that coding style stuff if we could make an IDE that edits the program itself instead of text? (I get that text is a universal format, but that doesn't mean we have to edit it directly.)

A huge benefit of text is that if you learn to read code, you already know how to edit it too. This is because of WYTIWYS: What you type is what you see.

Higher level edits and refactoring are awesome, but when you just start using the environment you can't learn all the refactorings yet, while you only want to enter something similar to the code you saw on the whiteboard in class etc. WYTIWYS makes it easy.

Historically, many attempts at structural or projectional editors didn't adhere to WYTIWYS. I believe that this is a major reason for why they haven't gained popularity.

But recently there are several projects developing projectional editors which do adhere to WYTIWYS!

One is Lamdu (http://www.lamdu.org) (btw I'm one of its developers). In Lamdu we try to create a programming language with a friendly projectional editor which does adhere to WYTIWYS and also offers awesome unique features that projectional editors enable. (for more information see our short videos - https://www.youtube.com/channel/UCgvPEOFglvS4_ZEHi-PEctQ )

Another projectional editor adhering to WYTIWYS is Jetbrains MPS (https://www.jetbrains.com/mps/) . This one isn't limited to a single programming language! It is a general purpose language workbench.


In the example it is called "NonEmpty".

There's the "Stream" nominal type, shown below in Haskell-like text syntax:

  newtype Stream a = () -> (Empty | NonEmpty { head :: a, tail :: Stream a })
To construct a "Stream", we type "stream" in a hole and pick "Stream« ◗ _", which wraps a "deferred computation" ("◗ _") in the nominal "Stream" type constructor.

Now the type of the value inside the hole within is just "Empty | NonEmpty { head :: a, tail :: Stream a }", now type "nonempty" and pick it.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: