2009-11-26 32 views
8

Bây giờ FSharp v1 đã đi vào Beta, đã đến lúc hỏi về vNext.Từ khóa dành riêng nào trong thông số ngôn ngữ F # nên được triển khai trong vNext?

Các FSharp language spec xác định từ khóa reserved sau:

atomic break checked component const constraint constructor  
continue eager fixed fori functor include  
method mixin object parallel params process protected pure  
sealed tailcall trait virtual volatile 

mà các bạn muốn xem thực hiện và tại sao?

Vui lòng đợi một từ khóa cho mỗi câu trả lời.

+1

Chỉ khi tôi học một ngôn ngữ, một ngôn ngữ khác xuất hiện! Im bỏ qua Z # –

+0

@Aiden: lol, tôi thực sự googled cho "Z #" ... –

+1

Nên là một cộng đồng wiki – Brian

Trả lời

2

Tôi bằng cách nào đó không thể theo liên kết của bạn, nhưng trong trường hợp atomic áp dụng cho bộ nhớ giao dịch phần mềm tích hợp, đây là yêu thích của tôi.

+0

Có - bất kỳ điều gì làm cho mã đồng thời an toàn trở nên dễ dàng hơn đối với những người chết. –

4

Bỏ phiếu của tôi dành cho tailcall.

Nếu tôi hiểu ý định chính xác thì đây sẽ là từ khóa để đánh dấu các hàm đệ quy mà tác giả dự định sẽ đệ quy đuôi. Nếu vì lý do nào đó trình biên dịch không thể tuân thủ, một thông báo chẩn đoán có thể giúp ích rất nhiều.

Khi đứng bây giờ nếu bạn thất bại trong việc cấu trúc chức năng đệ quy của bạn đúng là lần đầu tiên bạn sẽ được thông báo về vấn đề này là ngoại lệ StackOverflow (Không chảo dự định)

+0

Tôi đã theo ấn tượng trình biên dịch F # đã phát hành hướng dẫn .tail IL và có thể phát hiện cuộc gọi đệ trình đuôi. –

+3

Điều đó có nghĩa là bạn đã viết đúng chức năng của mình. Nhưng nếu bạn đã làm một cái gì đó trong nó để nó không thể được đệ quy đuôi - bạn sẽ không biết nó cho đến khi bạn nhìn thấy Ngoại lệ – mfeingold

+0

Không cần từ khóa, trình biên dịch nên cảnh báo tôi (tùy chọn thất bại) khi nó thấy một chức năng rec mà không có cuộc gọi đuôi anyway . –

1

Câu hỏi hay nhưng khó để trả lời. Bạn không thể đoán chính xác mục đích của từng từ khóa dành riêng, đúng không?

Từ quan điểm của tôi, tôi có thể thấy một số trường hợp sử dụng hữu ích cho fixed (bộ đệm kích thước cố định).

0

Tôi muốn bỏ phiếu cho eager, nếu điều đó có nghĩa là đánh giá đã bị bỏ qua theo mặc định (như trong Haskell, nhưng không giống như F # hiện tại).

7

đặc điểm, đặc điểm giả định giống như đặc điểm Scala.

+0

Tôi đã upvoted này và bắt đầu chủ đề này: http://cs.hubfs.net/forums/thread/12413.aspx trên hubFS với lý do của tôi và một số câu hỏi. –

Các vấn đề liên quan