2008-09-13 14 views
8

.NET을 대상으로하는 컴파일러를 구축 중이며 이전에 CIL을 직접 생성했지만 DLR 트리를 생성하면 상당히 편하게 사용할 수 있습니다. 몇 가지 동적 인 기능, 즉 런타임 기능 생성과 ducktyping을 지원하고 있지만 코드의 대부분은 완전히 정적입니다.(주로) 정적 언어 컴파일을위한 DLR 사용

그래서 지금이 설명되어 있다고

, 나는 다음과 같은 질문이 있습니다

  • 는 DLR 정적 컴파일에 사용되었습니다, 작은 예 외부 MSDN 블로그에 있습니까?
  • 그렇다면 어떤 종류의 성능이 달성 되었습니까?
  • 그렇지 않다면 근본적으로 이것을 방지하는 것이 있습니까?
  • DLR을 사용하거나 IL을 직접 방출하는 것보다 더 좋은 코드 생성 메커니즘이 있습니까?

블로그에 대한 통찰력이나 블로그/코드/협의에 대한 통찰력이 있으면 크게 감사하겠습니다.

답변

7

DLR을 꽤 많이 사용하고있는 사람은 아직 알지 못합니다. 확실히 의도 된 사용 사례 중 하나입니다. 고려해야 할 흥미로운 점 중 하나는 DLR의 표현 트리가 LINQ 표현식 트리와 병합 되었기 때문에 아직 알려지지 않은 Visual Studio의 일부 버전에서 LINQ 용으로 생성 된 IL이 DLR 코드를 사용한다는 것입니다.

오픈 소스로 DLR을 릴리스하는 깔끔한면은 회사 외부 사람들이 어떤 종류의 흥미로운 일을하고 있는지 전혀 알 수 없다는 것입니다. :)

+0

답장을 보내 주셔서 감사합니다. 몇 가지 정적 컴파일 프로토 타입을 만들었으므로 어떻게 될지 보겠습니다. :) 나는 매우 모호한 사이트에서 MS의 누군가로부터 응답을 기대하지 않았습니다. - 만나서 반가워요 :) –