- Cameron Zwarich, der sich bei Apple mehr als 15 Jahre mit systemnaher Software auf niedriger Ebene beschäftigt hat, ist zu Lean FRO gewechselt
- Zwarich wird als Schöpfer von Rosetta 2 vorgestellt; damit wechselt Erfahrung aus der Systemsoftware in den Lean-Bereich
- Der Schwerpunkt bei Lean FRO liegt auf der Verbesserung des Codegenerators von Lean
- Leonardo de Moura begrüßt Zwarich als herausragenden Softwareentwickler und erwartet, dass seine Expertise das Lean-Ökosystem beeinflussen wird
- Dieser Wechsel kann als Teil der Entwicklung gesehen werden, in der Lean über Proof-Tools hinaus auch Ausführungsleistung und die Compiler-Schicht stärken will
Cameron Zwarich wechselt zu Lean FRO
- Cameron Zwarich ist zu Lean FRO gewechselt
- Leonardo de Moura begrüßt Zwarich als Schöpfer von Rosetta 2 und als herausragenden Softwareentwickler
- Zwarich verfügt über mehr als 15 Jahre Erfahrung mit systemnaher Software auf niedriger Ebene bei Apple
Rolle bei Lean
- Zwarichs Hauptaufgabe bei Lean FRO ist die Verbesserung des Codegenerators von Lean
- de Moura erwartet, dass seine Expertise großen Einfluss auf das Lean-Ökosystem haben wird
- Im Beitrag sind außerdem die Hashtags
#LeanLang,#LeanProver,#LeanFROenthalten
1 Kommentare
Meinungen auf Hacker News
Mein Hintergrund ist Mathematik, und ich interessiere mich schon seit der Zeit vor meiner Laufbahn als professioneller Software Engineer für interaktive Theorembeweiser. Dass ich das nun in Vollzeit machen kann, kommt der Erfüllung eines Traums ziemlich nahe.
Laut LinkedIn sind Sie seit 2009 bei Apple gewesen, abgesehen von einem Jahr bei Mozilla zwischendurch. Ich habe auch gesehen, dass Sie an der University of Waterloo in reiner Mathematik promoviert haben; persönlich halte ich Waterloo für die beste Mathematik-/Informatik-Hochschule unseres Landes, und selbst jetzt, in meinen Vierzigern, würde ich ohne Zögern hingehen, wenn sie mich nur aufnehmen würden.
Mich würde interessieren, über welchen Weg Sie zum Rosetta-2-Projekt gekommen sind. Ich habe mir auch Ihre Dissertation angesehen, aber https://uwspace.uwaterloo.ca/items/4bc518ca-a846-43ce-92f0-8... schien keinen Bezug zur Compiler-Theorie zu haben.
Ich habe früher ebenfalls Mathematik studiert, war aber kein guter Student; ich habe Statistik gemacht und scherzhaft gesagt, das sei kein Teil der Mathematik, daher habe ich keine ernsthaften Algebra-Kurse belegt und verstehe diese Arbeit überhaupt nicht.
Rosetta 2 ist erstaunlich; wenn das die Arbeit einer einzigen Person war, wäre ich wirklich verblüfft.
Mich interessiert, was man wissen muss, um etwas so Ausgefeiltes wie Rosetta zu bauen.
Ich vermute, dass Sie die System Calls der jeweiligen Host-/Guest-Systeme als zuverlässige Abstraktionsschicht neu implementiert und getestet haben, aber es gibt so viele Aspekte, die weit über mein Verständnis hinausgehen.
Haben Sie auch einen eigenen Assembler-Debugger gebaut? Mich würde interessieren, welche Tools Sie bei der Arbeit verwendet haben und ob Reverse-Engineering-Tools wie Ghidra oder Binary Ninja nützlich waren.
In der Zeit könnte man genug verdient haben, um im Ruhestand von passivem Einkommen in ungefährer Höhe eines Gehalts zu leben, und steuerlich wäre das vermutlich viel günstiger gewesen.
Mich interessiert ganz unvoreingenommen, wie diese Entscheidung zustande kam. Wenn FAANG oder insbesondere Apple erfüllend war, ist das natürlich völlig in Ordnung; da ich auf Blind viele solche Fälle gesehen habe, frage ich mich aber auch, ob da eine fast irrationale finanzielle Unsicherheit eine Rolle spielt.
https://news.ycombinator.com/item?id=28914208
https://youtu.be/MVEKt_H3FsI?si=BbRRV51ql1V6DD4r
Ich habe versucht, den Quellcode zu finden, aber nichts gefunden.
Ein Proof Assistant ist im Grunde ein Werkzeug zum Konstruieren mathematischer Beweise und überprüft, ob ein Beweis korrekt ist, so wie ein Compiler die Typen eines Programms überprüft.
Soweit ich es verstehe, entsprechen, wie Curry und Howard entdeckt haben, auch allgemeine Programmiersprachen mit bestimmten Einschränkungen einem Proof Assistant. Mit Einschränkungen ist hier etwas in der Art gemeint, dass Rust im Vergleich zu Java erzwingt, bestimmte Regeln einzuhalten.
Ihr Proof Assistant/ihre Programmiersprache: https://en.m.wikipedia.org/wiki/Lean_(proof_assistant)
Es kommt immer vor, dass langjährige Mitarbeiter gehen, und selbst wenn es kein angebotenes anderes Ziel gibt, fühlt sich eine Tätigkeit irgendwann einfach alt an.