ExercismのLeanトラックに参加すると、 100個の演習 コードの自動分析 と マンツーマンのメンタリング、 すべて100%無料で利用できます。
namespace HelloWorld
inductive World where
| earth | mars
def hello (world : World) : String :=
match world with
| .earth => "Hello, Earth!"
| .mars => "Hi, Mars!"
end HelloWorld
Exercismでは、楽しくやりがいのある演習を通して、コンセプトの理解を試しながらプログラミングを上達させられます。
0から999,999,999,999までの数値が与えられたら、その数値を英語で書き表します。
現代のアラビア数字をローマ数字に変換します。
あるリストが別のリストのサブリストかどうかを判定します。
決定的な関数は、コードを予測しやすく、組み合わせやすく、理解しやすくします。
ルールを型に直接エンコードすると、コードは自己文書化され、不正な状態は表現できなくなります。
同じ言語でプログラムを書き、その正しさを証明できます。仕様もコードです。
テストだけでなく、コードの重要な性質を数学的に証明しましょう。
型をクラスに分類することで、軽量で拡張可能な抽象化が得られます。
強力なマクロとエラボレーターのフレームワークにより、自分の領域に合わせて言語を拡張できます。
プログラミング言語にはそれぞれ、物事の進め方があります。Leanも 同じです。メンターが、Leanのエンジニアのように 考える方法と、Leanらしいコードの書き方を 教えてくれます。演習を解いたら、ボランティアチームに 提出してみましょう。ヒントやアイデア、フィードバックをもらい、 Leanでよく目にする書き方に近づけることができます。 自分が知らないことを知らない、ということに気づかせてくれるでしょう。
メンタリングについてもっと詳しく