Commit ca891d3
Switch starter.mojo kernels and solve functions from fn to def (#240)
Mojo 26.2 deprecates the `fn` keyword. Per the RFC "Remove fn from
Mojo" (accepted 23 Feb 2026), `def` is becoming Mojo's single function
declaration keyword:
- `def foo(...)` — non-raising (matches old `fn`)
- `def foo(...) raises` — raising form (replaces old `fn ... raises`
and the old implicitly-raising `def`)
`fn` will be removed before 1.0. Starters emit a deprecation warning
on every compile today; refactor to the new form now so users don't
learn the dead keyword.
Kernels become `def` without `raises` (they don't raise). `solve`
becomes `def ... raises` since it calls DeviceContext, compile_function,
enqueue_function, and synchronize — all of which raise.
Verified against Mojo 26.2 on a Tesla T4: the transformed vector_add
starter compiles cleanly and produces a valid shared library.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 0dd4aca commit ca891d3
78 files changed
Lines changed: 97 additions & 97 deletions
File tree
- challenges
- easy
- 19_reverse_array/starter
- 1_vector_add/starter
- 21_relu/starter
- 23_leaky_relu/starter
- 24_rainbow_table/starter
- 2_matrix_multiplication/starter
- 31_matrix_copy/starter
- 3_matrix_transpose/starter
- 52_silu/starter
- 54_swiglu/starter
- 62_value_clipping/starter
- 63_interleave/starter
- 65_geglu/starter
- 66_rgb_to_grayscale/starter
- 68_sigmoid/starter
- 7_color_inversion/starter
- 8_matrix_addition/starter
- 9_1d_convolution/starter
- hard
- 12_multi_head_attention/starter
- 14_multi_agent_sim/starter
- 15_sorting/starter
- 20_kmeans_clustering/starter
- 36_radix_sort/starter
- 39_Fast_Fourier_transform/starter
- 46_bfs_shortest_path/starter
- 53_casual_attention/starter
- 56_linear_attention/starter
- 59_sliding_window_attn/starter
- 73_all_pairs_shortest_paths/starter
- 74_gpt2_block/starter
- medium
- 10_2d_convolution/starter
- 11_3d_convolution/starter
- 13_histogramming/starter
- 16_prefix_sum/starter
- 17_dot_product/starter
- 18_sparse_matrix_vector_multiplication/starter
- 22_gemm/starter
- 25_categorical_cross_entropy_loss/starter
- 27_mean_squared_error/starter
- 28_gaussian_blur/starter
- 29_top_k_selection/starter
- 30_batched_matrix_multiplication/starter
- 32_int8_quantized_matmul/starter
- 33_ordinary_least_squares/starter
- 34_logistic_regression/starter
- 35_monte_carlo_integration/starter
- 37_matrix_power/starter
- 38_nearest_neighbor/starter
- 40_batch_normalization/starter
- 42_2d_max_pooling/starter
- 43_count_array_element/starter
- 44_count_2d_array_element/starter
- 45_count_3d_array_element/starter
- 47_subarray_sum/starter
- 48_2d_subarray_sum/starter
- 49_3d_subarray_sum/starter
- 4_reduction/starter
- 50_rms_normalization/starter
- 51_max_subarray_sum/starter
- 55_attn_w_linear_bias/starter
- 57_fp16_batched_matmul/starter
- 58_fp16_dot_product/starter
- 5_softmax/starter
- 60_top_p_sampling/starter
- 61_rope_embedding/starter
- 64_weight_dequantization/starter
- 67_moe_topk_gating/starter
- 69_jacobi_stencil_2d/starter
- 6_softmax_attention/starter
- 70_segmented_prefix_sum/starter
- 71_parallel_merge/starter
- 72_stream_compaction/starter
- 75_sparse_matrix_dense_matrix_multiplication/starter
- 78_2d_fft/starter
- 80_grouped_query_attention/starter
- 81_int4_matmul/starter
- 82_linear_recurrence/starter
- 85_lora_linear/starter
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
0 commit comments