Son zamanlarda büyük kod parçalarını yeniden düzenleme ve bunları Linq sorguları ile değiştirme.
Dil yanlılığının kaldırılması - Linq aslında bir dizi veri üzerinde çalışan bir Harita / Filtre ve Küçült işlemidir.
Bu beni teorik olarak ne kadar ileriye götürebilirim diye düşündürdü. Tüm kod tabanını Harita / Filtre ve Azaltma işlemlerinin bir serisine (hatta tek bir) yeniden yazabilir miyim.
Ne yazık ki yararlı şeyler yapmak için para alırım, bu yüzden daha fazla deney yapamadım, ama böyle yeniden yapılandırılamadı herhangi bir kod yapısı düşünemiyorum. Yandan etkilenen kodlar monadlar aracılığıyla ele alınabilir. Çıktı bile bellek adreslerini ekran adresleriyle eşleştirmektir.
Linq sorgusu olarak (teorik olarak) yeniden yazılamayacak bir şey var mı?
my_list.map(_ignored => a copy of my_list)
, böyle bir programın alan kullanımı bazı polinomlarla sınırlı görünmektedir (program uzunluğuna bağlı olarak). O zaman böyle bir dil kesinlikle PSPACE'de olmayan problemleri hesaplayamadı. Bununla birlikte, PSPACE'deki birçok sorun çekilemez olarak kabul edildiğinden, daha büyük sınıflardan hiçbir şey söylemek için, bu çok ciddi bir kısıtlama olmayabilir.