خانه / راهنما

راهنما

از یک clone تا چیزی که اجرا می‌شود، در پنج گام.

مستندات را بخوانید کد منبع

شروع کار

  1. بسازیدش

    clone بگیرید، بعد CLI را کامپایل کنید. از -cc gcc استفاده کنید: بک‌اند C پیش‌فرض روی این checkout شکست می‌خورد، و CI از همان پرچم استفاده می‌کند تا نتوانند اختلاف داشته باشند.

    git clone https://github.com/metif12/vlip
    cd vlip
    
    v -cc gcc -o vlip.exe vlip.v
    .\vlip.exe examples\01_basics.lip
  2. چیزی تعریف کنید

    یک lambda فهرست پارامتر و بدنه می‌گیرد. define آن را می‌بندد. map آن را روی هر عضو می‌زند.

    (define (square n) (* n n))
    
    (map square [1 2 3 4])   ;=> (1 4 9 16)
  3. روی مقدار شاخه بزنید

    cond بندها را به ترتیب می‌گیرد و بدنهٔ نخستین آزمون درست را اجرا می‌کند. بند else بقیه را می‌گیرد.

    (define (fizzbuzz n)
      (cond [(= 0 (mod n 15)) "FizzBuzz"]
            [(= 0 (mod n 3))  "Fizz"]
            [(= 0 (mod n 5))  "Buzz"]
            [else n]))
    
    (map fizzbuzz (range 1 16))
  4. حلقه‌ای بنویسید که حلقه نیست

    یک تابع بازگشتی معمولی که فراخوانی‌اش در جایگاه دنباله‌ای است. پشتهٔ ادامه رشد نمی‌کند، پس عمق را به‌جای پشته، حافظه محدود می‌کند.

    (define (fold-left f init xs)
      (if (null? xs)
          init
          (fold-left f (f init (car xs)) (cdr xs))))
    
    (fold-left + 0 [1 2 3 4 5])   ;=> 15
  5. یا از loop استفاده کنید

    loop یک let نام‌دار است: خودش متغیر را جلو می‌برد. همان فضای ثابت، با کمتر چیزی برای اشتباه.

    ; a sum loop needs no stack at all
    (define (sum-to n)
      (loop i 0 (<= i n)
        (set! n (- n i))))
    
    (sum-to 1000000)   ; runs in constant space

بعدش کجا

بهترین قدم بعدی پوشهٔ examples است. شش برنامه، و آن‌ها مشخصاتی هستند که مفسر بر اساس آن‌ها نوشته شده: اگر مفسر و یک نمونه اختلاف داشته باشند، یکی از آن‌ها اشتباه است و معمولاً نمونه.

بعد از آن، نقشهٔ راه. آنچه شکسته است، چه چیزی بعدی است، و در چه ترتیبی باید اتفاق بیفتد را نام می‌برد.

مشارکت

گزارش اشکال و pull request خوش‌آمدند، از جمله ترجمه. راهنمای مشارکت توضیح می‌دهد چطور بسازید، چطور آزمون‌ها را اجرا کنید، و چیدمان شاخه‌ها چگونه است.