TypeScript や Flow ではなく JSDoc を用いた JavaScript のプロジェクトは多くありますが、特別なことをしない限り、 悲しいことに JSDoc を書いても、何も言ってくれません。
/** @type {Array} foo */
let foo = [];
foo = "foo"; // 何も言ってくれない...| 0039.cf | |
| 0039.ga | |
| 0039.ml | |
| 00b2bcr51qv59xst2.cf | |
| 00b2bcr51qv59xst2.ga | |
| 00b2bcr51qv59xst2.ml | |
| 02466.cf | |
| 02466.ga | |
| 02466.ml | |
| 07819.cf |
これは高知工科大 Advent Calendar 2018の8日目の記事です.
最近私の中で話題になっている,Graal/Truffle について書く. すごく抽象的なことしか述べない.
JavaScript や Ruby , Python などといった,動的なプログラミング言語の高速化が難しいことは
| def f(x) | |
| if x | |
| unless x | |
| p :foo | |
| end | |
| end | |
| end | |
| TracePoint.trace(:line) do |tp| | |
| if tp.lineno == 2 |
| require "minruby" | |
| def mark_tail(tree, genv) | |
| case tree && tree[0] | |
| when "func_call" | |
| mhd = genv[tree[1]] | |
| if mhd == nil || mhd[0] == "user_defined" | |
| tree[0] = "tail" | |
| end | |
| when "stmts" |
| #Japanese messages | |
| javax.validation.constraints.AssertFalse.message=Falseでなければなりません。 | |
| javax.validation.constraints.AssertTrue.message=Trueでなければなりません。 | |
| javax.validation.constraints.DecimalMax.message={value}以下でなければなりません。 | |
| javax.validation.constraints.DecimalMin.message={value}以上でなければなりません。 | |
| javax.validation.constraints.Digits.message=境界以外の数値(予測:<{integer} digits>.<{fraction} digits>) | |
| javax.validation.constraints.Future.message=未来日付でなければなりません。 | |
| javax.validation.constraints.Max.message={value}以下でなければなりません。 | |
| javax.validation.constraints.Min.message={value}以上でなければなりません。 | |
| javax.validation.constraints.NotNull.message=Nullは許可されていません。 |
| Option Explicit | |
| Public Type NETRESOURCE | |
| dwScope As Long | |
| dwType As Long | |
| dwDisplayType As Long | |
| dwUsage As Long | |
| lpLocalName As String | |
| lpRemoteName As String | |
| lpComment As String |
| --- a/cygwin/GNUmakefile.in Thu Jan 01 08:38:01 2015 | |
| +++ b/cygwin/GNUmakefile.in Mon May 23 01:50:00 2016 | |
| @@ -50,11 +50,11 @@ | |
| $(LIBRUBY): $(RUBY_EXP) $(LIBRUBY_SO) | |
| $(RUBY_EXP) $(LIBRUBY_SO): $(DLL_BASE_NAME).res.@OBJEXT@ | |
| -%.res.@OBJEXT@: %.rc | |
| +%.res.@OBJEXT@: %.rc %.size | |
| $(ECHO) compiling $@ | |
| $(Q) $(WINDRES) --include-dir . --include-dir $(<D) --include-dir $(srcdir)/win32 $< $@ |
| s=%w(ABCDEFGHIJKMNOQRSUWXYZ0123456789 "`^' acegmnopqrsuwxyz)######################################## | |
| b='';d=->c{(w=s.find{|a|a[c]})&&(b+=(w.size+w.index(c)).to_s(2)[1..-1])};%(######################### | |
| B^"`^^```^""NB^"`^^```^""NBS4K2DANGSGDJXANGWGDJDBYUS4I2OENGWGDJD""'`"^"'""'J"`^"`^^`"`^DJ"`^"`^^`"`^ | |
| D mqwgmqwa anawoqom NOGGS24NNUZ6YX1BJAWC2IUKE21CCKJFFYZWQM wsereues Z pnaxmxex aomoeooo | |
| C 3MDN7SQJ 2BCEA37Q IBEG24XQOOX082HI6X0QZ51B7HW8WUIE7JYQZ4 ME7JSE6W M RO7GG835 N77U0Y5W | |
| F BDZ6UK1K OMZGQU5K O5WSFIME7JYGE34HOJ1Q525RO7SQ54HD2RGKFI UJE6XYJ4 D Q6FDEMXX KNM0GWW9 | |
| M 6YH4448A 2YH4Z24R Y3UY9MDM27Y0G3IRYXUY9JDM27Y0G3IRZBZ60U 8O6YH4J4 8 OYDDYZS4 A27FNGSG | |
| D `"""'"` xa "'"'"'" 1JIRYUZ65M7E7QWS13IRYZSE1SCMI9G8KCDM3Xg ``""``" 9 ``^^'`` en `^`"^^` | |
| 7F NQSGcsooosasp444WQ3FHY7U4A2OH443IRY3Z6DU4C7FZ0Y5HHI3U0 S21 RZOY G | |
| B xuwpxew "8H3IN27BQW45KOXXY04DA71U8W4RD6YA8GWRM2FE0D5KA27FNW^ psaycsa Y roryxma '" pmswrmz |
| $ErrorActionPreference = "Stop" | |
| $notificationTitle = "Notification: " + [DateTime]::Now.ToShortTimeString() | |
| [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null | |
| $template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText01) | |
| #Convert to .NET type for XML manipuration | |
| $toastXml = [xml] $template.GetXml() | |
| $toastXml.GetElementsByTagName("text").AppendChild($toastXml.CreateTextNode($notificationTitle)) > $null |