<<>> <> <> <> <> DIRECTORY Rope USING [ROPE]; <> <<>> Dictionary: CEDAR DEFINITIONS ~ { OPEN Rope; <> dictServer: READONLY ROPE; <> Problem: TYPE ~ { courier, -- some problem with communication service, -- dictionaryServer (totally) unable to complete request unknown -- unexpected transport error, and catchall }; Error: ERROR [problem: Problem, explanation: ROPE]; <> SExpr: TYPE ~ ROPE; Alternates: TYPE ~ ATOM; Dictionary: TYPE ~ ATOM; Form: TYPE ~ ATOM; Language: TYPE ~ ATOM; Analyses: TYPE ~ SExpr; Paragraph: TYPE ~ ROPE; UnparsedClasses: TYPE ~ ROPE; User: TYPE ~ ROPE; Word: TYPE ~ ROPE; MinKeyWords: TYPE ~ INTEGER; MinWord: TYPE ~ INTEGER; MaxWord: TYPE ~ INTEGER; WordNumber: TYPE ~ INT32; <> CodesList: TYPE ~ LIST OF ATOM; WordsList: TYPE ~ LIST OF ROPE; LooksList: TYPE ~ LIST OF Looks2List; Looks2List: TYPE ~ LIST OF ATOM; SynonymClassesList: TYPE ~ LIST OF SynonymClassList; SynonymClassList: TYPE ~ LIST OF ROPE; DictionariesList: TYPE ~ LIST OF Dictionary; LanguagesList: TYPE ~ LIST OF Language; IntegersList: TYPE ~ LIST OF INT32; <> ConjugationsList: TYPE ~ LIST OF ConjugationPointer; ConjugationPointer: TYPE ~ REF ExternalConjugationObject; ExternalConjugationObject: TYPE ~ RECORD [ partOfSpeech: ATOM, definition: ROPE, status: ATOM ]; WordPosition: TYPE ~ WordPositionPointer; WordPositionPointer: TYPE ~ REF ExternalWordPositionObject; ExternalWordPositionObject: TYPE ~ RECORD [ start: INTEGER, length: INTEGER ]; Definition: TYPE ~ DefinitionPointer; DefinitionPointer: TYPE ~ REF ExternalDefinitionObject; ExternalDefinitionObject: TYPE ~ RECORD [ definition: Rope.ROPE, looks: RunList ]; RawIntersectionResultsList: TYPE ~ LIST OF RawIntersectionResultsPointer; RawIntersectionResultsPointer: TYPE ~ REF ExternalRawIntersectionResultsObject; ExternalRawIntersectionResultsObject: TYPE ~ RECORD [ keys: WordsList, results: IntegersList ]; IntersectionResultsList: TYPE ~ LIST OF IntersectionResultsPointer; IntersectionResultsPointer: TYPE ~ REF ExternalIntersectionResultsObject; ExternalIntersectionResultsObject: TYPE ~ RECORD [ keys: WordsList, results: WordsList ]; RawDefinitionList: TYPE ~ LIST OF ComponentPointer; ComponentPointer: TYPE ~ REF ExternalComponentObject; ExternalComponentObject: TYPE ~ RECORD [ type: ATOM, text: ROPE, defaultFont: ATOM, runs: RunList ]; RunList: TYPE ~ LIST OF RunPointer; RunPointer: TYPE ~ REF ExternalRunObject; ExternalRunObject: TYPE ~ RECORD [ start: INTEGER, length: INTEGER, font: ATOM ]; SynonymPointer: TYPE ~ REF ExternalSynonymObject; ExternalSynonymHandle: TYPE ~ REF ExternalSynonymObject; ExternalSynonymObject: TYPE ~ RECORD [ synonymList: SynonymClassesList, externalSynonymSeqHandle: ExternalSynonymSeqHandle ]; ExternalSynonymSeqHandle: TYPE ~ REF ExternalSynonymSeqObject; ExternalSynonymSeqObject: TYPE; <> Languages: PROC [ user: User ] RETURNS [ languages: LanguagesList ]; Analyze: PROC [ word: Word, language: Language ] RETURNS [ analyses: Analyses ]; Translate: PROC [ wordNumber: WordNumber, language: Language ] RETURNS [ word: Word ]; ProofRead: PROC [ paragraph: Paragraph, language: Language ] RETURNS [ wordPosition: WordPosition ]; Corrections: PROC [ word: Word, language: Language ] RETURNS [ wordsList: WordsList ]; Status: PROC RETURNS [ statusInfo: ROPE ]; CountWords: PROC [ paragraph: Paragraph, language: Language ] RETURNS [ wordCount: LONG INTEGER ]; Conjugate: PROC [ word: Word, form: Form, alternates: Alternates, language: Language ] RETURNS [ conjugationsList: ConjugationsList]; Dictionaries: PROC [ user: User ] RETURNS [ dictionariesList: DictionariesList ]; GetDefinition: PROC [ word: Word, dictionary: Dictionary ] RETURNS [definition: Definition]; Pronunciation: PROC [ word: Word, dictionary: Dictionary ] RETURNS [ wordPronounced: ROPE ]; GetLooks: PROC [ dictName: Dictionary ] RETURNS [ looksList: LooksList]; Enumerate: PROC [ wordNumber: WordNumber, dictionary: Dictionary ] RETURNS [definitionList: Definition]; EnumerateRaw: PROC [ wordNumber: WordNumber, codes: CodesList, dictionary: Dictionary ] RETURNS [ rawDefinitionList: RawDefinitionList]; Synonyms: PROC [ word: Word, dictionary: Dictionary ] RETURNS [ externalSynonymHandle: ExternalSynonymHandle]; SearchForWord: PROC [ unparsedClasses: UnparsedClasses, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ] RETURNS [ intersectionResultsList: IntersectionResultsList]; NewSearchForWord: PROC [ externalSynonymHandle: ExternalSynonymHandle, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ] RETURNS [ intersectionResultsList: IntersectionResultsList]; RawSearchForWord: PROC [ externalSynonymHandle: ExternalSynonymHandle, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ] RETURNS [ rawIntersectionResultsList: RawIntersectionResultsList]; }.