@@ -64,9 +64,8 @@ let swapUnsafe = (xs, i, j) => {
64
64
setUnsafe (xs , j , tmp )
65
65
}
66
66
67
-
68
- @val @scope ("Math" ) external random : unit => float = "random"
69
- @val @scope ("Math" ) external floor : float => int = "floor"
67
+ @val @scope ("Math" ) external random : unit => float = "random"
68
+ @val @scope ("Math" ) external floor : float => int = "floor"
70
69
external toFloat : int => float = "%floatofint"
71
70
72
71
let shuffleInPlace = xs => {
@@ -123,20 +122,20 @@ let makeByU = (l, f) =>
123
122
} else {
124
123
let res = makeUninitializedUnsafe (l )
125
124
for i in 0 to l - 1 {
126
- setUnsafe (res , i , f (. i ))
125
+ setUnsafe (res , i , f (i ))
127
126
}
128
127
res
129
128
}
130
129
131
- let makeBy = (l , f ) => makeByU (l , (. a ) => f (a ))
130
+ let makeBy = (l , f ) => makeByU (l , a => f (a ))
132
131
133
132
let makeByAndShuffleU = (l , f ) => {
134
133
let u = makeByU (l , f )
135
134
shuffleInPlace (u )
136
135
u
137
136
}
138
137
139
- let makeByAndShuffle = (l , f ) => makeByAndShuffleU (l , (. a ) => f (a ))
138
+ let makeByAndShuffle = (l , f ) => makeByAndShuffleU (l , a => f (a ))
140
139
141
140
let range = (start , finish ) => {
142
141
let cut = finish - start
@@ -182,12 +181,12 @@ let zipByU = (xs, ys, f) => {
182
181
let len = Pervasives .min (lenx , leny )
183
182
let s = makeUninitializedUnsafe (len )
184
183
for i in 0 to len - 1 {
185
- setUnsafe (s , i , f (. getUnsafe (xs , i ), getUnsafe (ys , i )))
184
+ setUnsafe (s , i , f (getUnsafe (xs , i ), getUnsafe (ys , i )))
186
185
}
187
186
s
188
187
}
189
188
190
- let zipBy = (xs , ys , f ) => zipByU (xs , ys , (. a , b ) => f (a , b ))
189
+ let zipBy = (xs , ys , f ) => zipByU (xs , ys , (a , b ) => f (a , b ))
191
190
192
191
let concat = (a1 , a2 ) => {
193
192
let l1 = length (a1 )
@@ -328,65 +327,65 @@ let blit = (~src as a1, ~srcOffset as ofs1, ~dst as a2, ~dstOffset as ofs2, ~len
328
327
329
328
let forEachU = (a , f ) =>
330
329
for i in 0 to length (a ) - 1 {
331
- f (. getUnsafe (a , i ))
330
+ f (getUnsafe (a , i ))
332
331
}
333
332
334
- let forEach = (a , f ) => forEachU (a , (. a ) => f (a ))
333
+ let forEach = (a , f ) => forEachU (a , a => f (a ))
335
334
336
335
let mapU = (a , f ) => {
337
336
let l = length (a )
338
337
let r = makeUninitializedUnsafe (l )
339
338
for i in 0 to l - 1 {
340
- setUnsafe (r , i , f (. getUnsafe (a , i )))
339
+ setUnsafe (r , i , f (getUnsafe (a , i )))
341
340
}
342
341
r
343
342
}
344
343
345
- let map = (a , f ) => mapU (a , (. a ) => f (a ))
344
+ let map = (a , f ) => mapU (a , a => f (a ))
346
345
347
346
let flatMapU = (a , f ) => concatMany (mapU (a , f ))
348
347
349
- let flatMap = (a , f ) => flatMapU (a , (. a ) => f (a ))
348
+ let flatMap = (a , f ) => flatMapU (a , a => f (a ))
350
349
351
350
let getByU = (a , p ) => {
352
351
let l = length (a )
353
352
let i = ref (0 )
354
353
let r = ref (None )
355
354
while r .contents == None && i .contents < l {
356
355
let v = getUnsafe (a , i .contents )
357
- if p (. v ) {
356
+ if p (v ) {
358
357
r .contents = Some (v )
359
358
}
360
359
i .contents = i .contents + 1
361
360
}
362
361
r .contents
363
362
}
364
363
365
- let getBy = (a , p ) => getByU (a , (. a ) => p (a ))
364
+ let getBy = (a , p ) => getByU (a , a => p (a ))
366
365
367
366
let getIndexByU = (a , p ) => {
368
367
let l = length (a )
369
368
let i = ref (0 )
370
369
let r = ref (None )
371
370
while r .contents == None && i .contents < l {
372
371
let v = getUnsafe (a , i .contents )
373
- if p (. v ) {
372
+ if p (v ) {
374
373
r .contents = Some (i .contents )
375
374
}
376
375
i .contents = i .contents + 1
377
376
}
378
377
r .contents
379
378
}
380
379
381
- let getIndexBy = (a , p ) => getIndexByU (a , (. a ) => p (a ))
380
+ let getIndexBy = (a , p ) => getIndexByU (a , a => p (a ))
382
381
383
382
let keepU = (a , f ) => {
384
383
let l = length (a )
385
384
let r = makeUninitializedUnsafe (l )
386
385
let j = ref (0 )
387
386
for i in 0 to l - 1 {
388
387
let v = getUnsafe (a , i )
389
- if f (. v ) {
388
+ if f (v ) {
390
389
setUnsafe (r , j .contents , v )
391
390
j .contents = j .contents + 1
392
391
}
@@ -395,15 +394,15 @@ let keepU = (a, f) => {
395
394
r
396
395
}
397
396
398
- let keep = (a , f ) => keepU (a , (. a ) => f (a ))
397
+ let keep = (a , f ) => keepU (a , a => f (a ))
399
398
400
399
let keepWithIndexU = (a , f ) => {
401
400
let l = length (a )
402
401
let r = makeUninitializedUnsafe (l )
403
402
let j = ref (0 )
404
403
for i in 0 to l - 1 {
405
404
let v = getUnsafe (a , i )
406
- if f (. v , i ) {
405
+ if f (v , i ) {
407
406
setUnsafe (r , j .contents , v )
408
407
j .contents = j .contents + 1
409
408
}
@@ -412,15 +411,15 @@ let keepWithIndexU = (a, f) => {
412
411
r
413
412
}
414
413
415
- let keepWithIndex = (a , f ) => keepWithIndexU (a , (. a , i ) => f (a , i ))
414
+ let keepWithIndex = (a , f ) => keepWithIndexU (a , (a , i ) => f (a , i ))
416
415
417
416
let keepMapU = (a , f ) => {
418
417
let l = length (a )
419
418
let r = makeUninitializedUnsafe (l )
420
419
let j = ref (0 )
421
420
for i in 0 to l - 1 {
422
421
let v = getUnsafe (a , i )
423
- switch f (. v ) {
422
+ switch f (v ) {
424
423
| None => ()
425
424
| Some (v ) =>
426
425
setUnsafe (r , j .contents , v )
@@ -431,71 +430,71 @@ let keepMapU = (a, f) => {
431
430
r
432
431
}
433
432
434
- let keepMap = (a , f ) => keepMapU (a , (. a ) => f (a ))
433
+ let keepMap = (a , f ) => keepMapU (a , a => f (a ))
435
434
436
435
let forEachWithIndexU = (a , f ) =>
437
436
for i in 0 to length (a ) - 1 {
438
- f (. i , getUnsafe (a , i ))
437
+ f (i , getUnsafe (a , i ))
439
438
}
440
439
441
- let forEachWithIndex = (a , f ) => forEachWithIndexU (a , (. a , b ) => f (a , b ))
440
+ let forEachWithIndex = (a , f ) => forEachWithIndexU (a , (a , b ) => f (a , b ))
442
441
443
442
let mapWithIndexU = (a , f ) => {
444
443
let l = length (a )
445
444
let r = makeUninitializedUnsafe (l )
446
445
for i in 0 to l - 1 {
447
- setUnsafe (r , i , f (. i , getUnsafe (a , i )))
446
+ setUnsafe (r , i , f (i , getUnsafe (a , i )))
448
447
}
449
448
r
450
449
}
451
450
452
- let mapWithIndex = (a , f ) => mapWithIndexU (a , (. a , b ) => f (a , b ))
451
+ let mapWithIndex = (a , f ) => mapWithIndexU (a , (a , b ) => f (a , b ))
453
452
454
453
let reduceU = (a , x , f ) => {
455
454
let r = ref (x )
456
455
for i in 0 to length (a ) - 1 {
457
- r .contents = f (. r .contents , getUnsafe (a , i ))
456
+ r .contents = f (r .contents , getUnsafe (a , i ))
458
457
}
459
458
r .contents
460
459
}
461
460
462
- let reduce = (a , x , f ) => reduceU (a , x , (. a , b ) => f (a , b ))
461
+ let reduce = (a , x , f ) => reduceU (a , x , (a , b ) => f (a , b ))
463
462
464
463
let reduceReverseU = (a , x , f ) => {
465
464
let r = ref (x )
466
465
for i in length (a ) - 1 downto 0 {
467
- r .contents = f (. r .contents , getUnsafe (a , i ))
466
+ r .contents = f (r .contents , getUnsafe (a , i ))
468
467
}
469
468
r .contents
470
469
}
471
470
472
- let reduceReverse = (a , x , f ) => reduceReverseU (a , x , (. a , b ) => f (a , b ))
471
+ let reduceReverse = (a , x , f ) => reduceReverseU (a , x , (a , b ) => f (a , b ))
473
472
474
473
let reduceReverse2U = (a , b , x , f ) => {
475
474
let r = ref (x )
476
475
let len = Pervasives .min (length (a ), length (b ))
477
476
for i in len - 1 downto 0 {
478
- r .contents = f (. r .contents , getUnsafe (a , i ), getUnsafe (b , i ))
477
+ r .contents = f (r .contents , getUnsafe (a , i ), getUnsafe (b , i ))
479
478
}
480
479
r .contents
481
480
}
482
481
483
- let reduceReverse2 = (a , b , x , f ) => reduceReverse2U (a , b , x , (. a , b , c ) => f (a , b , c ))
482
+ let reduceReverse2 = (a , b , x , f ) => reduceReverse2U (a , b , x , (a , b , c ) => f (a , b , c ))
484
483
485
484
let reduceWithIndexU = (a , x , f ) => {
486
485
let r = ref (x )
487
486
for i in 0 to length (a ) - 1 {
488
- r .contents = f (. r .contents , getUnsafe (a , i ), i )
487
+ r .contents = f (r .contents , getUnsafe (a , i ), i )
489
488
}
490
489
r .contents
491
490
}
492
491
493
- let reduceWithIndex = (a , x , f ) => reduceWithIndexU (a , x , (. a , b , c ) => f (a , b , c ))
492
+ let reduceWithIndex = (a , x , f ) => reduceWithIndexU (a , x , (a , b , c ) => f (a , b , c ))
494
493
495
494
let rec everyAux = (arr , i , b , len ) =>
496
495
if i == len {
497
496
true
498
- } else if b (. getUnsafe (arr , i )) {
497
+ } else if b (getUnsafe (arr , i )) {
499
498
everyAux (arr , i + 1 , b , len )
500
499
} else {
501
500
false
@@ -504,7 +503,7 @@ let rec everyAux = (arr, i, b, len) =>
504
503
let rec someAux = (arr , i , b , len ) =>
505
504
if i == len {
506
505
false
507
- } else if b (. getUnsafe (arr , i )) {
506
+ } else if b (getUnsafe (arr , i )) {
508
507
true
509
508
} else {
510
509
someAux (arr , i + 1 , b , len )
@@ -515,19 +514,19 @@ let everyU = (arr, b) => {
515
514
everyAux (arr , 0 , b , len )
516
515
}
517
516
518
- let every = (arr , f ) => everyU (arr , (. b ) => f (b ))
517
+ let every = (arr , f ) => everyU (arr , b => f (b ))
519
518
520
519
let someU = (arr , b ) => {
521
520
let len = length (arr )
522
521
someAux (arr , 0 , b , len )
523
522
}
524
523
525
- let some = (arr , f ) => someU (arr , (. b ) => f (b ))
524
+ let some = (arr , f ) => someU (arr , b => f (b ))
526
525
527
526
let rec everyAux2 = (arr1 , arr2 , i , b , len ) =>
528
527
if i == len {
529
528
true
530
- } else if b (. getUnsafe (arr1 , i ), getUnsafe (arr2 , i )) {
529
+ } else if b (getUnsafe (arr1 , i ), getUnsafe (arr2 , i )) {
531
530
everyAux2 (arr1 , arr2 , i + 1 , b , len )
532
531
} else {
533
532
false
@@ -536,19 +535,19 @@ let rec everyAux2 = (arr1, arr2, i, b, len) =>
536
535
let rec someAux2 = (arr1 , arr2 , i , b , len ) =>
537
536
if i == len {
538
537
false
539
- } else if b (. getUnsafe (arr1 , i ), getUnsafe (arr2 , i )) {
538
+ } else if b (getUnsafe (arr1 , i ), getUnsafe (arr2 , i )) {
540
539
true
541
540
} else {
542
541
someAux2 (arr1 , arr2 , i + 1 , b , len )
543
542
}
544
543
545
544
let every2U = (a , b , p ) => everyAux2 (a , b , 0 , p , Pervasives .min (length (a ), length (b )))
546
545
547
- let every2 = (a , b , p ) => every2U (a , b , (. a , b ) => p (a , b ))
546
+ let every2 = (a , b , p ) => every2U (a , b , (a , b ) => p (a , b ))
548
547
549
548
let some2U = (a , b , p ) => someAux2 (a , b , 0 , p , Pervasives .min (length (a ), length (b )))
550
549
551
- let some2 = (a , b , p ) => some2U (a , b , (. a , b ) => p (a , b ))
550
+ let some2 = (a , b , p ) => some2U (a , b , (a , b ) => p (a , b ))
552
551
553
552
let eqU = (a , b , p ) => {
554
553
let lena = length (a )
@@ -560,13 +559,13 @@ let eqU = (a, b, p) => {
560
559
}
561
560
}
562
561
563
- let eq = (a , b , p ) => eqU (a , b , (. a , b ) => p (a , b ))
562
+ let eq = (a , b , p ) => eqU (a , b , (a , b ) => p (a , b ))
564
563
565
564
let rec everyCmpAux2 = (arr1 , arr2 , i , b , len ) =>
566
565
if i == len {
567
566
0
568
567
} else {
569
- let c = b (. getUnsafe (arr1 , i ), getUnsafe (arr2 , i ))
568
+ let c = b (getUnsafe (arr1 , i ), getUnsafe (arr2 , i ))
570
569
if c == 0 {
571
570
everyCmpAux2 (arr1 , arr2 , i + 1 , b , len )
572
571
} else {
@@ -586,7 +585,7 @@ let cmpU = (a, b, p) => {
586
585
}
587
586
}
588
587
589
- let cmp = (a , b , p ) => cmpU (a , b , (. a , b ) => p (a , b ))
588
+ let cmp = (a , b , p ) => cmpU (a , b , (a , b ) => p (a , b ))
590
589
591
590
let partitionU = (a , f ) => {
592
591
let l = length (a )
@@ -596,7 +595,7 @@ let partitionU = (a, f) => {
596
595
let a2 = makeUninitializedUnsafe (l )
597
596
for ii in 0 to l - 1 {
598
597
let v = getUnsafe (a , ii )
599
- if f (. v ) {
598
+ if f (v ) {
600
599
setUnsafe (a1 , i .contents , v )
601
600
i .contents = i .contents + 1
602
601
} else {
@@ -609,7 +608,7 @@ let partitionU = (a, f) => {
609
608
(a1 , a2 )
610
609
}
611
610
612
- let partition = (a , f ) => partitionU (a , (. x ) => f (x ))
611
+ let partition = (a , f ) => partitionU (a , x => f (x ))
613
612
614
613
let unzip = a => {
615
614
let l = length (a )
@@ -630,24 +629,24 @@ let joinWithU = (a, sep, toString) =>
630
629
let lastIndex = l - 1
631
630
let rec aux = (i , res ) =>
632
631
if i == lastIndex {
633
- res ++ toString (. getUnsafe (a , i ))
632
+ res ++ toString (getUnsafe (a , i ))
634
633
} else {
635
- aux (i + 1 , res ++ (toString (. getUnsafe (a , i )) ++ sep ))
634
+ aux (i + 1 , res ++ (toString (getUnsafe (a , i )) ++ sep ))
636
635
}
637
636
638
637
aux (0 , "" )
639
638
}
640
639
641
- let joinWith = (a , sep , toString ) => joinWithU (a , sep , (. x ) => toString (x ))
640
+ let joinWith = (a , sep , toString ) => joinWithU (a , sep , x => toString (x ))
642
641
643
642
let initU = (n , f ) => {
644
643
let v = makeUninitializedUnsafe (n )
645
644
for i in 0 to n - 1 {
646
- setUnsafe (v , i , f (. i ))
645
+ setUnsafe (v , i , f (i ))
647
646
}
648
647
v
649
648
}
650
649
651
- let init = (n , f ) => initU (n , (. i ) => f (i ))
650
+ let init = (n , f ) => initU (n , i => f (i ))
652
651
653
652
@send external push : (t <'a >, 'a ) => unit = "push"
0 commit comments