Skip to content

Commit

Permalink
Sort halacha Steinsaltz's to the end
Browse files Browse the repository at this point in the history
  • Loading branch information
ronshapiro committed Nov 11, 2024
1 parent bbd025c commit 762c702
Show file tree
Hide file tree
Showing 7 changed files with 154 additions and 132 deletions.
30 changes: 26 additions & 4 deletions steinsaltz.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,12 +144,34 @@ function splitFilter<T>(array: T[], filter: (t: T) => boolean): [T[], T[]] {
return [positive, negative];
}

function isHebrewHalacha(note: HebrewNote): boolean {
return note.type.id === 8;
}

function isEnglishHalacha(note: EnglishNote): boolean {
return note.text.includes("(Rambam") || note.text.includes("Shulĥan Arukh");
}

function isHalachaPair(pair: HebrewEnglishPair): boolean {
const [hebrew, english] = pair;
return (hebrew !== undefined && isHebrewHalacha(hebrew)) || (
english !== undefined && isEnglishHalacha(english));
}

function sortHalachaToEnd(pairs: HebrewEnglishPair[]): HebrewEnglishPair[] {
pairs.sort((a, b) => {
const aValue = isHalachaPair(a) ? 1 : -1;
const bValue = isHalachaPair(b) ? 1 : -1;
return aValue - bValue;
});
return pairs;
}

function heuristicTiebraking(
hebrewNotes: HebrewNote[], englishNotes: EnglishNote[],
): HebrewEnglishPair[] {
const [hebrewHalacha, hebrewNonHalacha] = splitFilter(hebrewNotes, x => x.type.id === 8);
const [englishHalacha, englishNonHalacha] = splitFilter(
englishNotes, x => x.text.includes("(Rambam") || x.text.includes("Shulĥan Arukh"));
const [hebrewHalacha, hebrewNonHalacha] = splitFilter(hebrewNotes, isHebrewHalacha);
const [englishHalacha, englishNonHalacha] = splitFilter(englishNotes, isEnglishHalacha);
for (const array of [hebrewHalacha, hebrewNonHalacha, englishHalacha, englishNonHalacha]) {
array.sort((a, b) => a.text.length - b.text.length);
}
Expand Down Expand Up @@ -218,5 +240,5 @@ export function makeSteinsaltzCommentPairings(
result.push(...(zip([], groupedEnglishNotes) as HebrewEnglishPair[]));
}
}
return pairUnpaired(result);
return sortHalachaToEnd(pairUnpaired(result));
}
68 changes: 34 additions & 34 deletions test_data/api_request_handler/Bava_Kamma.55a.expected-output.json
Original file line number Diff line number Diff line change
Expand Up @@ -1019,19 +1019,19 @@
},
"Steinsaltz In-Depth": {
"comments": [
{
"en": "The prohibition of diverse kinds applies to any two species of domesticated animals, undomesticated animals, or birds, even if they are similar to each other and are reared or even mingle with each other (Rambam <i>Sefer Zera’im</i>,<i> Hilkhot Kilayim</i> 9:4; <i>Shulĥan Arukh</i>,<i> Yoreh De’a</i> 297:6).",
"he": "כל שני מיני בהמה חיה ועוף, אף שדומים זה לזה וגדלים זה עם זה ואפילו מתעברים זה מזה, כיון שהם שני מינים הרי הם אסורים משום כלאים. (רמב\"ם ספר זרעים הלכות כלאים פ\"ט ה\"ד. שו\"ע יו\"ד רצז, ו).",
"ref": "Steinsaltz comment #1 on Bava Kamma 55a:9",
"sourceHeRef": "מִשּׁוּם דְּרָבוּ בַּהֲדֵי הֲדָדֵי",
"sourceRef": "Because they are reared together"
},
{
"en": "",
"he": "הראב\"ד מסביר שאין הכוונה שהם גדלים יחד ומצויים במקום אחד, שהרי גם כבשים ועזים פעמים שהן רועות יחד ונעשות כעדר אחד. אלא הכוונה היא שבני מין אחד פעמים מגדלים (וכן ברשב\"א והרא\"ה) אפרוחים של בני המין השני, ומכאן שהם מינים קרובים זה לזה.",
"ref": "Steinsaltz comment #2 on Bava Kamma 55a:9",
"ref": "Steinsaltz comment #1 on Bava Kamma 55a:9",
"sourceHeRef": "דרבו בהדי הדדי",
"sourceRef": ""
},
{
"en": "The prohibition of diverse kinds applies to any two species of domesticated animals, undomesticated animals, or birds, even if they are similar to each other and are reared or even mingle with each other (Rambam <i>Sefer Zera’im</i>,<i> Hilkhot Kilayim</i> 9:4; <i>Shulĥan Arukh</i>,<i> Yoreh De’a</i> 297:6).",
"he": "כל שני מיני בהמה חיה ועוף, אף שדומים זה לזה וגדלים זה עם זה ואפילו מתעברים זה מזה, כיון שהם שני מינים הרי הם אסורים משום כלאים. (רמב\"ם ספר זרעים הלכות כלאים פ\"ט ה\"ד. שו\"ע יו\"ד רצז, ו).",
"ref": "Steinsaltz comment #2 on Bava Kamma 55a:9",
"sourceHeRef": "מִשּׁוּם דְּרָבוּ בַּהֲדֵי הֲדָדֵי",
"sourceRef": "Because they are reared together"
}
]
},
Expand Down Expand Up @@ -1182,26 +1182,26 @@
"sourceHeRef": "קוֹעֵיהּ",
"sourceRef": "The beak of [<i>ko’eih</i>]"
},
{
"en": "If one group of animals within a species inhabits the wilderness and another group inhabits populated areas, it is permitted for them to be crossbred and to work together. A domestic goose and a wild goose are separate species, and so the prohibition of breeding diverse kinds applies to them (Rambam <i>Sefer Zera’im</i>,<i> Hilkhot Kilayim</i> 9:5; <i>Shulĥan Arukh</i>,<i> Yoreh De’a</i> 297:7).",
"he": "מין שיש בו זן מדברי וזן יישובי — מותרים זה בזה. אבל אווז הבית ואווז הבר שונים זה מזה ולכן הם כלאים זה בזה. (רמב\"ם ספר זרעים הלכות כלאים פ\"ט ה\"ה. שו\"ע יו\"ד רצז, סעיף ז).",
"ref": "Steinsaltz comment #2 on Bava Kamma 55a:10",
"sourceHeRef": "אַוָּוז וְאַוַּוז הַבָּר וכו׳",
"sourceRef": "The domestic goose and the wild goose, etc."
},
{
"en": "This refers to different breeds of camels. The Persian camels were bulkier and heavier. They were used as work animals, for carrying and, at times, for plowing, in place of oxen. The Arabian camels used by the wanderers of the desert were generally lighter in build and had a thinner neck than the Persian breed.",
"he": "מדובר כאן בגזעים שונים של גמלים. הגמלים הפרסיים שהיו גמלי משא ועבודה (לעתים גמלי חרישה, במקום שוורים) היו מוצקים וכבדים יותר, ואילו הגמלים הערביים של נודדי המדבר הם מגזע אחר, שמבנהו הכללי קל יותר, ולכן גם צווארו של הגמל הערבי הוא דק יותר מזה של בן הגזע הערבי.",
"ref": "Steinsaltz comment #3 on Bava Kamma 55a:10",
"ref": "Steinsaltz comment #2 on Bava Kamma 55a:10",
"sourceHeRef": "גַּמְלָא פַּרְסָא וְגַמְלָא טַיָּיעָא",
"sourceRef": "A Persian camel and an Arabian camel"
},
{
"en": "Today, these two types of birds are treated as one species. The wild goose is classified as the <i>Anser</i> <i>anser</i>, also known as the greylag goose, and the domestic goose is classified as the <i>Anser</i> <i>anser</i> <i>domestica</i>. Although the differences between them are not always apparent, they do differ in several ways, such as in their appearance, voice, and behavior. In terms of their appearance, they differ in color, as the wild goose is usually gray and the domestic goose white, and the neck of the domestic goose is shorter than that of the wild goose. Another difference is that the male organ of the wild goose is more recognizable than that of the domestic goose. As for laying eggs, the wild goose lays fewer eggs than the domestic goose, which can lay more than ten eggs at a time.",
"he": "",
"ref": "Steinsaltz comment #4 on Bava Kamma 55a:10",
"ref": "Steinsaltz comment #3 on Bava Kamma 55a:10",
"sourceHeRef": "",
"sourceRef": "The domestic goose and the wild goose (אַוָּוז הַבַּיִת וְאַוַּוז הַבָּר)"
},
{
"en": "If one group of animals within a species inhabits the wilderness and another group inhabits populated areas, it is permitted for them to be crossbred and to work together. A domestic goose and a wild goose are separate species, and so the prohibition of breeding diverse kinds applies to them (Rambam <i>Sefer Zera’im</i>,<i> Hilkhot Kilayim</i> 9:5; <i>Shulĥan Arukh</i>,<i> Yoreh De’a</i> 297:7).",
"he": "מין שיש בו זן מדברי וזן יישובי — מותרים זה בזה. אבל אווז הבית ואווז הבר שונים זה מזה ולכן הם כלאים זה בזה. (רמב\"ם ספר זרעים הלכות כלאים פ\"ט ה\"ה. שו\"ע יו\"ד רצז, סעיף ז).",
"ref": "Steinsaltz comment #4 on Bava Kamma 55a:10",
"sourceHeRef": "אַוָּוז וְאַוַּוז הַבָּר וכו׳",
"sourceRef": "The domestic goose and the wild goose, etc."
}
]
},
Expand Down Expand Up @@ -1486,26 +1486,26 @@
"sourceHeRef": "הַמַּרְבִּיעַ שְׁנֵי מִינִים שֶׁבַּיָּם",
"sourceRef": "One who crossbreeds two species that live in the sea"
},
{
"en": "A person is flogged for crossbreeding a male and female of different species, whether they are domesticated animals, undomesticated animals, birds, or even two species of sea creatures, in accordance with the opinion of Reish Lakish (Rambam <i>Sefer Zera’im</i>,<i> Hilkhot Kilayim</i> 9:1; <i>Shulĥan Arukh</i>,<i> Yoreh De’a</i> 297:1).",
"he": "הרכיב זכר על נקבה ממין אחר, בין בבהמה בין בחיות ובין בעופות, ואפילו בחיות המים — הרי זה לוקה. וכדברי ריש לקיש. (רמב\"ם ספר זרעים הלכות כלאים פ\"ט ה\"א. שו\"ע יו\"ד רצז, סעיף א).",
"ref": "Steinsaltz comment #2 on Bava Kamma 55a:12",
"sourceHeRef": "שְׁנֵי מִינִים שֶׁבַּיָּם",
"sourceRef": "Two species that live in the sea"
},
{
"en": "",
"he": "מחלוקת תנאים היא האם איסור כלאים נאמר לבני נח (משום הכתוב \"למינהו\" שהוא כציווי שכל מין יישאר לעצמו ולא יעורב באחרים) ומסקנת ההלכה היא שאין זו ממצוות בני נח. וכתבו בתוס' שאף אם אין כתוב זה מובן כמצוה לבני נח, יש לומר שהוא מחייב את ישראל שנאסרו בכלאיים. והראב\"ד כתב שמן המלה \"למינהו\" אפשר ללמוד רק למצוות עשה, אבל מן הגזירה השווה למדים שיש בכך גם איסור לאו. ובתור\"פ שאל: מפני מה לא נאמר שנלמד דין כלאים משבת, שבכלל איסור מלאכה גם כל מיני חיה ועוף? והשיב כי מסתבר שלא דיבר הכתוב בשבת לענין דגים וחיות שבמים כיון שאין דרך לעשות בהם מלאכה.",
"ref": "Steinsaltz comment #3 on Bava Kamma 55a:12",
"ref": "Steinsaltz comment #2 on Bava Kamma 55a:12",
"sourceHeRef": "אתיא למינהו למינהו וכו'",
"sourceRef": ""
},
{
"en": "There is a tannaitic dispute as to whether the prohibition of diverse kinds applies to the descendants of Noah. The dispute hinges on the question whether the term: According to its species, as mentioned in Genesis (1:21), is equivalent to a mitzva that each species must remain separate and not mix together, or just a statement by God that they should issue forth in that manner. The<i> </i>halakhic conclusion is that the verse is not stating a mitzva. According to <i>Tosafot</i>, even if that verse is not expounded as a mitzva, it can still serve as the source to teach details of the prohibition of diverse kinds, in which the Jewish people are commanded. The Ra’avad suggests that the phrase: According to its species, indicates only that a positive commandment exists, and the verbal analogy demonstrates that a prohibition also exists.",
"he": "",
"ref": "Steinsaltz comment #4 on Bava Kamma 55a:12",
"ref": "Steinsaltz comment #3 on Bava Kamma 55a:12",
"sourceHeRef": "",
"sourceRef": "According to its species…according to its species (לְמִינֵהוּ…לְמִינֵהוּ)"
},
{
"en": "A person is flogged for crossbreeding a male and female of different species, whether they are domesticated animals, undomesticated animals, birds, or even two species of sea creatures, in accordance with the opinion of Reish Lakish (Rambam <i>Sefer Zera’im</i>,<i> Hilkhot Kilayim</i> 9:1; <i>Shulĥan Arukh</i>,<i> Yoreh De’a</i> 297:1).",
"he": "הרכיב זכר על נקבה ממין אחר, בין בבהמה בין בחיות ובין בעופות, ואפילו בחיות המים — הרי זה לוקה. וכדברי ריש לקיש. (רמב\"ם ספר זרעים הלכות כלאים פ\"ט ה\"א. שו\"ע יו\"ד רצז, סעיף א).",
"ref": "Steinsaltz comment #4 on Bava Kamma 55a:12",
"sourceHeRef": "שְׁנֵי מִינִים שֶׁבַּיָּם",
"sourceRef": "Two species that live in the sea"
}
]
},
Expand Down Expand Up @@ -1723,19 +1723,19 @@
},
"Steinsaltz In-Depth": {
"comments": [
{
"en": "It is prohibited to pull a wagon by means of both a land animal and a sea creature together, such as by means of a goat and a fish. One does not receive lashes for doing so, since this matter was not resolved (Rambam <i>Sefer Zera’im</i>,<i> Hilkhot Kilayim</i> 9:8;<i> Tur</i>,<i> Yoreh De’a</i> 297).",
"he": "אסור להנהיג יחד בעל חיים שביבשה עם זה שחי במים, כגון עז עם דג. ואם עשה כן — פטור ממלקות, שלא נפתרה הבעיה ואינו לוקה מספק. (רמב\"ם ספר זרעים הלכות כלאים פ\"ט ה\"ח. טור יו\"ד סימן רצז).",
"ref": "Steinsaltz comment #1 on Bava Kamma 55a:13",
"sourceHeRef": "הַמַּנְהִיג בְּעִיזָּא וְשִׁיבּוּטָא",
"sourceRef": "One who drives with a goat and a <i>shibbuta</i>"
},
{
"en": "This is a large fish, the <i>Barbus grypus</i> from the Cyprinidae family, which is found in the larger rivers of Babylonia. Even today it is called by a similar name in Arabic, <i>shabbūt</i>. It is an edible fish that can reach up to 1.5 m in length. Due to its size and strength, it is possible to use it to pull a wagon, leading to the Gemara’s question.",
"he": "נראה כי הוא דג גדול <eng>(Barbus grypus)</eng> ממשפחת הביניות <eng>(Barbus)</eng>, המצוי בנהרות בבל הגדולים.\nדג מאכל זה הנקרא עד ימינו בשם דומה בערבית דbi֞י (שאבוט) מגיע באורכו עד למטר וחצי, ומשום גודלו היה מקום לשאלה הנוגעת לעבודה בשיבוטא ועז יחד.",
"ref": "Steinsaltz comment #2 on Bava Kamma 55a:13",
"ref": "Steinsaltz comment #1 on Bava Kamma 55a:13",
"sourceHeRef": "שִׁיבּוּטָא",
"sourceRef": "<i>Shibbuta</i>"
},
{
"en": "It is prohibited to pull a wagon by means of both a land animal and a sea creature together, such as by means of a goat and a fish. One does not receive lashes for doing so, since this matter was not resolved (Rambam <i>Sefer Zera’im</i>,<i> Hilkhot Kilayim</i> 9:8;<i> Tur</i>,<i> Yoreh De’a</i> 297).",
"he": "אסור להנהיג יחד בעל חיים שביבשה עם זה שחי במים, כגון עז עם דג. ואם עשה כן — פטור ממלקות, שלא נפתרה הבעיה ואינו לוקה מספק. (רמב\"ם ספר זרעים הלכות כלאים פ\"ט ה\"ח. טור יו\"ד סימן רצז).",
"ref": "Steinsaltz comment #2 on Bava Kamma 55a:13",
"sourceHeRef": "הַמַּנְהִיג בְּעִיזָּא וְשִׁיבּוּטָא",
"sourceRef": "One who drives with a goat and a <i>shibbuta</i>"
}
]
},
Expand Down
Loading

0 comments on commit 762c702

Please sign in to comment.