Обратите внимание, что поскольку вы упомянули рекурсию, я предполагаю, что когда вы писали dolls_of
, вы имели в виду filtersList2fromList1
.Также я предполагаю, что List1
и List2
должны быть list1
и list2
, поскольку первое будет ошибкой.
Следует также указать, что @
O(n)
операция, и не рекомендуется использовать ее для создания списков.Однако, как указал Ники в комментариях, использование finalList
бессмысленно, поэтому вам все равно не нужно @
.
Чтобы ответить на ваш вопрос: вы можете выполнять два выражения за другим, разделяяих с ;
.Однако dolls_of
- это функция без побочных эффектов, поэтому выполнение ее без каких-либо действий с ее результатом не имеет большого смысла.
На самом деле, насколько я могу судить, вы действительно хотите сделать:
if List.mem s list2
then s :: filtersList2fromList1 tl list2
else filtersList2fromList1 tl list2