Результаты поиска по запросу "sml"

2 ответа

Sml складывание дерева

Я пытаюсь получить произведение дерева с помощью функции сгиба, пока это то, что у меня есть. Я не понимаю, как использовать метод сгиба при прохождении дерева

1 ответ

 Он отлично работает для меня.

1 ответ

И это ваш окончательный результат.

я работаю над финалом практики, есть проблема, попросите меня нарисовать дерево разбора для этого кода sml:

ТОП публикаций

1 ответ

Сделаю.

исал функцию, которая работает, как ожидалось, но я не понимаю, почему вывод такой. Функция:datatype prop = Atom of string | Not of prop | And of prop*prop | Or of prop*prop; (* XOR = (A And Not B) OR (Not A Or B) *) local fun ...

1 ответ

"), и порядок (сопоставление сверху вниз) может иметь значение, если шаблоны перекрываются (чего нет в любом из вышеперечисленных)

ужно использовать методы сопоставления с образцом, чтобы рекурсивно поменять местами каждую пару элементов в списке. Так,[1, 2, 3, 4, 5] вернется[2, 1, 4, 3, 5]. Я нашел две вещи: List.length: чтобы вернуть длину. Что полезно для работы с ...

2 ответа

В общем, руководство пользователя содержит несколько хороших примеров и объяснений.

ужно создать новый экземплярlexer привязан к стандартному потоку ввода. Тем не менее, когда я набираю val lexer = makeLexer( fn n => inputLine( stdIn ) );Я получаю ошибку, которую не понимаю: stdIn:1.5-11.13 Error: operator and operand don't ...

1 ответ

А вот и другое:

вления функцияexpand который получает список любого типа и целое числоnи возвращает список, в котором реплицируется каждый элемент списка вводаn раз. Например, расширение [1,2,3] 3 должно быть оценено как [1,1,1,2,2,2,3,3,3]. Тип функции должен ...

1 ответ

Когда использовать точку с запятой в SML?

Я знаю, что точки с запятой используются в качестве терминаторов в REPL. Но я не понимаю, когда использовать их в исходном файле. Например это не нужно послеval x = 1, Но если я опущу это послеuse "foo.sml"Компилятор пожалуется на это. Тогда ...

1 ответ

Спасибо, я не знал, могли бы вы использовать блоки и typedef как этот. Сначала я попробую последний способ и, если необходимо, поработаю с шаблоном для последующих элементов.

для моделирования ленивого программирования возможно следующее: // Have a datatype to wrap a computation datatype 'a susp = Susp of (unit -> 'a) // A function to hold the computation fun delay(f ) = Susp(f)Я знаю, что замыкания могут быть ...

2 ответа

Как «исправить» интерактивную систему SML / NJ для использования клавиш со стрелками

У меня возникли некоторые проблемы с использованием интерактивной системы SML / NJ, а именно: когда я пытаюсь использовать клавиши со стрелками (влево или вправо, чтобы внести исправление в набранное выражение, вверх, чтобы повторить последнее ...