Re: Refal -> Java? РефалАС-->АСАИЯ


Subject: Re: Refal -> Java? РефалАС-->АСАИЯ
From: Nikolai Kondratiev (Nikolai.Kondratiev@gmx.de)
Date: Sat Dec 11 1999 - 00:03:59 MSK


Ну, ну.., ребята, полегче...

Но ArrayList может быть стоит проверить. Тем более, что там есть equals, хотя и не совсем эффективный.

  ----- Original Message -----
  From: Mikhail Kovtun
  To: Arkady Klimov
  Cc: Sergei M. Abramov ; Nikolai Kondratiev ; Refal
  Sent: Friday, December 10, 1999 8:01 PM
  Subject: Re: Refal -> Java? РефалАС-->АСАИЯ !

  Привет всем!
  Arkady Klimov wrote:

      Сначала -- небольшое техническое замечание:
      А не лучше ли в отображении использовать вместо массивов java.util.Collection и дальнейшие вариации? А какой вариант реализации Collection лучше в конкретных случаях, пусть братья Климовы думают.
        
       

    Интересная мысль! Конечно, это будет сильно менее эффективно, но ведь это будет прекрасный тест на суперкомпиляцию Явы! Миша, ты на это намекал?
  Разумеется.
    Точнее я бы выразился так: надо сделать компиляцию рефала с использованием интерфейса java.util.Collection,
  Пожалуй, java.util.List, а не java.util.Collection -- как я понимаю, упорядоченность нужна.
    реализовать этот интерфейс через массивы,
  А может быть, где как лучше? Явный тип тебе нужно указывать только тогда, когда ты строишь новый список, во всех остальных случаях пользуешься только интерфейсом. Например, если нужно построить список из одного элемента, почему бы не воспользоваться Collections.singletonList(Object)? И я бы не стеснялся порождать что-то вроде:
  public List concat(final List e1, final List e2) {
      return e1.clone().addAll(e2.clone())
  }

  -- а потом пусть у суперкомпилятора голова болит, нужны ли clone(), и про все прочее...

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

  --
  Best regards,

  Mikhail
    



This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:24:58 MSD