Как я отслеживаю повторяющееся календарное событие в C# / SQL Server? [закрытый]

В Haskell это невозможно, так как типы стираются во время выполнения. То есть, когда программа запустится, в памяти нет информации о значении индекса let в типе.

Чтобы преодолеть эту проблему, нам нужно заставить Haskell сохранять в памяти это значение во время выполнения. Обычно это делается с помощью синглтона вспомогательного типа:

data Num = Zero | Succ Num

data SNum (n :: Num) where
   SZero :: SNum 'Zero
   SSucc :: SNum n -> SNum ('Succ n)

data Something (len :: Num) where
  Some :: SNum len -> Something len

. Используя это, вы можете легко написать

sToNum :: SNum n -> Num
sToNum SZero = Zero
sToNum (SSucc n) = Succ (sToNum n)

, а затем

toNum :: Something len -> Num
toNum (Some n) = sToNum n
[1110 ] Если вы ищите "haskell singletons", вы должны найти несколько примеров. Есть даже библиотека singletons, чтобы частично автоматизировать это.

Если / когда выйдет «зависимый Haskell», у нас будут менее громоздкие инструменты. В настоящее время синглтоны работают, но иногда они доставляют хлопоты. Тем не менее, на данный момент мы должны использовать их.

7
задан Dan Esparza 10 December 2008 в 21:39
поделиться

2 ответа

Я сделал что-то вроде этого прежде, и я основывал свою схему прочь SQL Server sysschedules таблица.

http://technet.microsoft.com/en-us/library/ms178644.aspx

Схема, связанная выше, позволит Вам хранить расписание для задания (событие). Затем можно вычислить, какие даты событие имеет место на основанном прочь расписания. Это может быть долгим вычислением, таким образом, я попытался бы кэшировать тот результат где-нибудь.

3
ответ дан 7 December 2019 в 14:39
поделиться

Я думаю, что это зависит от типа события, которое это. Похож на это Рождество, где, после того как это приходит и происходит, Вы действительно не интересуетесь им до следующего возникновения? Или действительно ли это - задача как, "Удостоверьтесь, что я звоню своей маме каждый месяц", где, если бы это происходит и Вы пропустили его, Вы не хотели бы, чтобы это ушло?

Одним путем я недавно реализовал последнего, должен был иметь запись, которая имела next_occurrence (дата), reoccurence_period (еженедельно, ежемесячно, ежегодно, и т.д.) столбцы. Так, чтобы, поскольку следующее происшествие approched это обнаружилось бы в списке. После того как это передало элемент списка, будет иметь перерабатывать значок, который когда-то нажал, обновит запись на следующее будущее происшествие.

Снова, я не уверен, относится ли это к Вашей ситуации, но она работала хорошо на мою.

1
ответ дан 7 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: