Haskell memiliki tupel yang dapat ditulis sebagai
(a,b,c)
Namun ini hanya gula sintaksis
(,,)a b c
Secara umum n tupel dapat dibentuk dengan n-1 ,
s antara (
... )
diikuti oleh unsur-unsurnya dipisahkan oleh spasi. Misalnya 7-tuple, (1,2,3,4,5,6,7)
dapat dibentuk oleh
(,,,,,,)1 2 3 4 5 6 7
Karena Haskell tidak memiliki 1-tupel, mereka tidak dapat dibentuk. Anda juga tidak akan dianggap bertanggung jawab atas tuple kosong.
Tuple bersarang dapat dibentuk menggunakan parens untuk mengesampingkan urutan operasi.
((1,2),3) == (,)((,)1 2)3
Sebagai bagian dari upaya kami untuk menghapus semua gula sintaksis dari Haskell, saya akan meminta Anda untuk menulis sebuah program yang menghilangkan gula sintaksis dari tupel Haskell juga.
Program Anda harus menggunakan tuple, array, atau string yang mewakili tuple manis dan harus menampilkan string yang mewakili tuple "bebas gula". Input tuple hanya akan berisi bilangan bulat positif atau tuple lainnya.
Karena kita bermain golf di sini, output Anda harus pendek. Seharusnya tidak mengandung yang tidak perlu
Spasi. Spasi harus digunakan hanya untuk memisahkan argumen dari fungsi tuple dan seharusnya tidak muncul setelah a
)
atau sebelum a(
Tanda kurung. Kurung harus digunakan hanya ketika membentuk fungsi tuple atau ketika tuple bersarang.
Ini adalah pertanyaan kode-golf sehingga jawaban akan dinilai dalam byte dengan lebih sedikit byte yang lebih baik.
Uji kasus
(1,2) -> (,)1 2
(1,2,3) -> (,,)1 2 3
((1,2),3) -> (,)((,)1 2)3
(1,2,3,4) -> (,,,)1 2 3 4
(1,(2,3)) -> (,)1((,)2 3)
(10,1) -> (,)10 1
,
((1,(2,3)),4,(5,6))
dan (1,(2,3),4)
.