2014-12-22 2 views
3

Я столкнулся с ошибкой, которую я не знаю, как ее решить. У меня есть следующий код (из учебника Eliom Graffiti), который я пытаюсь проверить с помощью make test.byte.Ошибка Eliom: {client {}}

open Eliom_content.Html5.D 

module My_app = 
Eliom_registration.App (struct 
    let application_name = "graffiti" 
end) 

let main_service = 
    Eliom_registration.Html5.register_service 
    ~path:[""] 
    ~get_params:Eliom_parameter.unit 
    (fun()() -> 
     Lwt.return 
     (html 
      (head (title (pcdata "Graffiti")) []) 
      (body [h1 [pcdata "Graffiti"]]))) 

{client{ 
    let _ = Eliom_lib.alert "Hello!" 
}} 

Ошибка:

$ make test.byte 
eliomc -c graffiti.ml 
File "graffiti.ml", line 18, characters 0-1: 
Parse error: [label_expr_list] or [expr level .] expected after "{" (in [expr]) 
Error while running external preprocessor 

линия 18, где {client{ появляется

ответ

2

graffiti.ml следует называть graffiti.eliom, AFAIK.

1

~path[""], кажется, не хватает одного : по крайней мере

(я поймал это, просто вставив свой код в Emacs , подсветка синтаксиса показала его.)

+0

Спасибо, я исправил код в своем вопросе. У моего фактического кода был символ ':'. – Thomas