Hem dinamik hem de fonksiyonel bir programlama dilinde körelme ve değişken işlevler sunmayı düşünüyorum, ancak bunun mümkün olup olmadığını merak ediyorum.
İşte bazı sözde kod:
sum = if @args.empty then 0 else @args.head + sum @args.tail
ki bu da onun tüm argümanlarını özetliyor. Sonra, sumkendisine bir sayı tedavi edilirse, sonuç olur 0. Örneğin,
sum + 1
+yalnızca sayılarda çalışabileceği varsayılarak 1'e eşittir . Bununla birlikte, sum == 0doğru bile olsa , sumkaç argüman verilirse verilsin değerini ve işlevsel özelliğini koruyacaktır (dolayısıyla "kısmen uygulanır" ve "değişken" aynı anda), örneğin, beyan edersem
g = sum 1 2 3
Sonra geşittir 6, ancak, yine de daha da uygulayabilirsiniz g. Örneğin g 4 5 == 15, doğrudur. Bu durumda, nesneyi gbir değişmezle değiştiremeyiz 6, çünkü bir tamsayı olarak işlendiğinde aynı değeri vermelerine rağmen, içinde farklı kodlar içerirler.
Bu tasarım gerçek bir programlama dilinde kullanılıyorsa, karışıklığa veya belirsizliğe neden olur mu?
sumbir 0bağımsız değişken olmayan ve tekrar eden bir bağımsız değişken ile çağırır.
reducemi?
args: empty, head, ve tail. Bunların hepsi liste işlevleridir, belki daha kolay ve daha basit bir şeyin varyasyonlu şeylerin olacağı bir liste kullanmak olabileceğini düşündürmektedir. (Bunun sum [1, 2, 3]yerine sum 1 2 3)