Skip to content

Instantly share code, notes, and snippets.

@paluh
Last active July 18, 2021 21:11
Show Gist options
  • Save paluh/849034ed00d238f63c4099f8c93b7280 to your computer and use it in GitHub Desktop.
Save paluh/849034ed00d238f63c4099f8c93b7280 to your computer and use it in GitHub Desktop.
RowList iteration is quite slow
module Main where
import Prelude
import Prim.RowList (Cons, Nil) as RL
import Prim.RowList (class RowToList, RowList)
import Type.Data.Row (RProxy(..))
class IterProps (given ∷ RowList Type)
instance iterPropsCons ∷ (IterProps t) ⇒ IterProps (RL.Cons n a t)
instance iterPropsNil ∷ IterProps RL.Nil
iter ∷ ∀ r rl. RowToList r rl ⇒ IterProps rl ⇒ RProxy r → Unit
iter _ = unit
test :: Unit
test = iter r <> iter r
where
r = RProxy ∷ RProxy
( "1" :: Unit
, "2" :: Unit
, "3" :: Unit
, "4" :: Unit
, "5" :: Unit
, "6" :: Unit
, "7" :: Unit
, "8" :: Unit
, "9" :: Unit
, "10" :: Unit
, "11" :: Unit
, "12" :: Unit
, "13" :: Unit
, "14" :: Unit
, "15" :: Unit
, "16" :: Unit
, "17" :: Unit
, "18" :: Unit
, "19" :: Unit
, "20" :: Unit
, "21" :: Unit
, "22" :: Unit
, "23" :: Unit
, "24" :: Unit
, "25" :: Unit
, "26" :: Unit
, "27" :: Unit
, "28" :: Unit
, "29" :: Unit
, "30" :: Unit
, "31" :: Unit
, "32" :: Unit
, "33" :: Unit
, "34" :: Unit
, "35" :: Unit
, "36" :: Unit
, "37" :: Unit
, "38" :: Unit
, "39" :: Unit
, "40" :: Unit
, "41" :: Unit
, "42" :: Unit
, "43" :: Unit
, "44" :: Unit
, "45" :: Unit
, "46" :: Unit
, "47" :: Unit
, "48" :: Unit
, "49" :: Unit
, "50" :: Unit
, "51" :: Unit
, "52" :: Unit
, "53" :: Unit
, "54" :: Unit
, "55" :: Unit
, "56" :: Unit
, "57" :: Unit
, "58" :: Unit
, "59" :: Unit
, "60" :: Unit
, "61" :: Unit
, "62" :: Unit
, "63" :: Unit
, "64" :: Unit
, "65" :: Unit
, "66" :: Unit
, "67" :: Unit
, "68" :: Unit
, "69" :: Unit
, "70" :: Unit
, "71" :: Unit
, "72" :: Unit
, "73" :: Unit
, "74" :: Unit
, "75" :: Unit
, "76" :: Unit
, "77" :: Unit
, "78" :: Unit
, "79" :: Unit
, "80" :: Unit
, "81" :: Unit
, "82" :: Unit
, "83" :: Unit
, "84" :: Unit
, "85" :: Unit
, "86" :: Unit
, "87" :: Unit
, "88" :: Unit
, "89" :: Unit
, "90" :: Unit
, "91" :: Unit
, "92" :: Unit
, "93" :: Unit
, "94" :: Unit
, "95" :: Unit
, "96" :: Unit
, "97" :: Unit
, "98" :: Unit
, "99" :: Unit
, "100" :: Unit
, "101" :: Unit
, "102" :: Unit
, "103" :: Unit
, "104" :: Unit
, "105" :: Unit
, "106" :: Unit
, "107" :: Unit
, "108" :: Unit
, "109" :: Unit
, "110" :: Unit
, "111" :: Unit
, "112" :: Unit
, "113" :: Unit
, "114" :: Unit
, "115" :: Unit
, "116" :: Unit
, "117" :: Unit
, "118" :: Unit
, "119" :: Unit
, "120" :: Unit
, "121" :: Unit
, "122" :: Unit
, "123" :: Unit
, "124" :: Unit
, "125" :: Unit
, "126" :: Unit
, "127" :: Unit
, "128" :: Unit
, "129" :: Unit
, "130" :: Unit
, "131" :: Unit
, "132" :: Unit
, "133" :: Unit
, "134" :: Unit
, "135" :: Unit
, "136" :: Unit
, "137" :: Unit
, "138" :: Unit
, "139" :: Unit
, "140" :: Unit
, "141" :: Unit
, "142" :: Unit
, "143" :: Unit
, "144" :: Unit
, "145" :: Unit
, "146" :: Unit
, "147" :: Unit
, "148" :: Unit
, "149" :: Unit
, "150" :: Unit
, "151" :: Unit
, "152" :: Unit
, "153" :: Unit
, "154" :: Unit
, "155" :: Unit
, "156" :: Unit
, "157" :: Unit
, "158" :: Unit
, "159" :: Unit
, "160" :: Unit
, "161" :: Unit
, "162" :: Unit
, "163" :: Unit
, "164" :: Unit
, "165" :: Unit
, "166" :: Unit
, "167" :: Unit
, "168" :: Unit
, "169" :: Unit
, "170" :: Unit
, "171" :: Unit
, "172" :: Unit
, "173" :: Unit
, "174" :: Unit
, "175" :: Unit
, "176" :: Unit
, "177" :: Unit
, "178" :: Unit
, "179" :: Unit
, "180" :: Unit
, "181" :: Unit
, "182" :: Unit
, "183" :: Unit
, "184" :: Unit
, "185" :: Unit
, "186" :: Unit
, "187" :: Unit
, "188" :: Unit
, "189" :: Unit
, "190" :: Unit
, "191" :: Unit
, "192" :: Unit
, "193" :: Unit
, "194" :: Unit
, "195" :: Unit
, "196" :: Unit
, "197" :: Unit
, "198" :: Unit
, "199" :: Unit
, "200" :: Unit
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment