Skip to content

Commit dabe29a

Browse files
authored
Merge pull request #205 from mohamed-barakat/prepare1
First preparation for the "functional" refactoring
2 parents bf669e4 + 820a4d3 commit dabe29a

File tree

6 files changed

+34
-36
lines changed

6 files changed

+34
-36
lines changed
File renamed without changes.
File renamed without changes.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ DeclareCategory( "IsSkeletalFiniteSetMap",
3838
#! @Returns an integer
3939
DeclareAttribute( "Length",
4040
IsSkeletalFiniteSet );
41+
4142
CapJitAddTypeSignature( "Length", [ IsSkeletalFiniteSet ], IsBigInt );
4243

4344
#! @Description
@@ -47,6 +48,7 @@ CapJitAddTypeSignature( "Length", [ IsSkeletalFiniteSet ], IsBigInt );
4748
#! @Returns a list
4849
DeclareAttribute( "AsList",
4950
IsSkeletalFiniteSet );
51+
5052
CapJitAddTypeSignature( "AsList", [ IsSkeletalFiniteSet ], rec( filter := IsList, element_type := rec( filter := IsBigInt ) ) );
5153

5254
#! @Description
@@ -55,6 +57,7 @@ CapJitAddTypeSignature( "AsList", [ IsSkeletalFiniteSet ], rec( filter := IsList
5557
#! @Returns a list
5658
DeclareAttribute( "AsList",
5759
IsSkeletalFiniteSetMap );
60+
5861
CapJitAddTypeSignature( "AsList", [ IsSkeletalFiniteSetMap ], rec( filter := IsList, element_type := rec( filter := IsBigInt ) ) );
5962

6063
#! @Section Skeletal Constructors
Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -257,31 +257,31 @@ InstallGlobalFunction( INSTALL_FUNCTIONS_FOR_SKELETAL_FIN_SETS,
257257

258258
##
259259
AddObjectConstructor( SkeletalFinSets,
260-
function ( SkeletalFinSets, n )
260+
function ( cat, n )
261261

262-
return FinSet( SkeletalFinSets, n );
262+
return FinSet( cat, n );
263263

264264
end );
265265

266266
##
267267
AddObjectDatum( SkeletalFinSets,
268-
function ( SkeletalFinSets, n )
268+
function ( cat, n )
269269

270270
return Length( n );
271271

272272
end );
273273

274274
##
275275
AddMorphismConstructor( SkeletalFinSets,
276-
function ( SkeletalFinSets, source, map, range )
276+
function ( cat, source, map, range )
277277

278-
return MapOfFinSets( SkeletalFinSets, source, map, range );
278+
return MapOfFinSets( cat, source, map, range );
279279

280280
end );
281281

282282
##
283283
AddMorphismDatum( SkeletalFinSets,
284-
function ( SkeletalFinSets, map )
284+
function ( cat, map )
285285

286286
return AsList( map );
287287

@@ -368,7 +368,7 @@ end );
368368
AddImageObject( SkeletalFinSets,
369369
function ( cat, phi )
370370

371-
return FinSet( SkeletalFinSets, BigInt( Length( Set( AsList( phi ) ) ) ) );
371+
return FinSet( cat, BigInt( Length( Set( AsList( phi ) ) ) ) );
372372

373373
end );
374374

@@ -531,7 +531,7 @@ end );
531531
AddTerminalObject( SkeletalFinSets,
532532
function ( cat )
533533

534-
return FinSet( SkeletalFinSets, BigInt( 1 ) );
534+
return FinSet( cat, BigInt( 1 ) );
535535

536536
end );
537537

@@ -547,7 +547,7 @@ end );
547547
AddDirectProduct( SkeletalFinSets,
548548
function ( cat, L )
549549

550-
return FinSet( SkeletalFinSets, Product( List( L, Length ) ) );
550+
return FinSet( cat, Product( List( L, Length ) ) );
551551

552552
end );
553553

@@ -593,7 +593,7 @@ AddEqualizer( SkeletalFinSets,
593593

594594
Eq := Filtered( [ 0 .. Length( s ) - 1 ], x -> ForAll( [ 1 .. Length( D ) - 1 ], j -> D2[j][1 + x] = D2[j + 1][1 + x] ) );
595595

596-
return FinSet( SkeletalFinSets, Length( Eq ) );
596+
return FinSet( cat, Length( Eq ) );
597597

598598
end );
599599

@@ -640,7 +640,7 @@ end );
640640
AddInitialObject( SkeletalFinSets,
641641
function ( cat )
642642

643-
return FinSet( SkeletalFinSets, BigInt( 0 ) );
643+
return FinSet( cat, BigInt( 0 ) );
644644

645645
end );
646646

@@ -700,7 +700,7 @@ end );
700700
AddCoproduct( SkeletalFinSets,
701701
function ( cat, L )
702702

703-
return FinSet( SkeletalFinSets, Sum( List( L, Length ) ) );
703+
return FinSet( cat, Sum( List( L, Length ) ) );
704704

705705
end );
706706

@@ -734,7 +734,7 @@ end );
734734
AddCoequalizer( SkeletalFinSets,
735735
function ( cat, s, D )
736736

737-
return FinSet( SkeletalFinSets, BigInt( Length( SKELETAL_FIN_SETS_ExplicitCoequalizer( s, D ) ) ) );
737+
return FinSet( cat, BigInt( Length( SKELETAL_FIN_SETS_ExplicitCoequalizer( s, D ) ) ) );
738738

739739
end );
740740

@@ -817,7 +817,7 @@ AddExponentialOnObjects( SkeletalFinSets,
817817
m := Length( M );
818818
n := Length( N );
819819

820-
return FinSet( SkeletalFinSets, n ^ m );
820+
return FinSet( cat, n ^ m );
821821

822822
end );
823823

@@ -880,24 +880,19 @@ AddExponentialOnMorphismsWithGivenExponentials( SkeletalFinSets,
880880

881881
mors := ExactCoverWithGlobalElements( cat, MN );
882882

883-
return MapOfFinSets(
884-
cat,
885-
S,
886-
List( mors,
887-
function ( mor )
888-
return
889-
AsList( CartesianLambdaIntroduction( cat,
890-
PreComposeList(
891-
cat,
892-
[ alpha,
893-
CartesianLambdaElimination( cat,
894-
M,
895-
N,
896-
mor ),
897-
beta ] ) ) )[1 + 0];
898-
899-
end ),
900-
T );
883+
return MapOfFinSets( cat,
884+
S,
885+
List( mors, mor ->
886+
AsList( CartesianLambdaIntroduction( cat,
887+
PreComposeList(
888+
cat,
889+
[ alpha,
890+
CartesianLambdaElimination( cat,
891+
M,
892+
N,
893+
mor ),
894+
beta ] ) ) )[1 + 0] ),
895+
T );
901896

902897
end, 1 + Sum( [ [ "ExponentialOnObjects", 1 ],
903898
[ "ExactCoverWithGlobalElements", 1 ],

init.g

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
ReadPackage( "FinSetsForCAP", "gap/Tools.gd" );
88

9-
ReadPackage( "FinSetsForCAP", "gap/FinSetsForCAP.gd" );
9+
ReadPackage( "FinSetsForCAP", "gap/FinSets.gd" );
1010

11-
ReadPackage( "FinSetsForCAP", "gap/SkeletalFinSetsForCAP.gd" );
11+
ReadPackage( "FinSetsForCAP", "gap/SkeletalFinSets.gd" );
1212

1313
#= comment for Julia
1414
if IsPackageMarkedForLoading( "JuliaInterface", ">= 0.2" ) then

read.g

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ ReadPackage( "FinSetsForCAP", "gap/Tools.gi" );
88

99
ReadPackage( "FinSetsForCAP", "gap/precompiled_categories/CategoryOfSkeletalFinSetsPrecompiled.gi" );
1010

11-
ReadPackage( "FinSetsForCAP", "gap/FinSetsForCAP.gi" );
11+
ReadPackage( "FinSetsForCAP", "gap/FinSets.gi" );
1212

13-
ReadPackage( "FinSetsForCAP", "gap/SkeletalFinSetsForCAP.gi" );
13+
ReadPackage( "FinSetsForCAP", "gap/SkeletalFinSets.gi" );
1414

1515
#= comment for Julia
1616
if IsPackageMarkedForLoading( "JuliaInterface", ">= 0.2" ) then

0 commit comments

Comments
 (0)