11 月 11 日に、以前から一部で注目されていたある Pull Request が tc39/ecma262 にマージされました。 この Pull Request がマージされたことで、識別子ではなく文字列リテラルを使った import/export が可能になりました。 この仕様変更はプロポーザルという形で扱われてはいませんが、構文上の影響があるので、JavaScript ユーザーとして知っておくに越したことはないものになります。 概要 まず具体例を示します。 今回の変更によって、次のように import/export する際の名前として文字列リテラルを使えるようになります。 基本的にはこれだけです。 詳解 ここからは仕様上の用語を使って解説をします。 この変更が入る前の ECMAScript では ImportSpecifier で as を使う場合 as の左側は Identifi
特に説明はしません。IOモナドなんて言っても、別に難しいことではなく、結局やってる事はこんな感じですというのがわかってもらえれば。もちろん、実際のHaskell処理系がこのような実装になっているという意味ではなく、JavaプログラマはこのようなイメージでIOモナドを理解すればいいのではないかという提案に過ぎないので、その点は注意してください。 package iomonad; import java.util.Scanner; public class IOLib { enum Unit{VALUE};//一つしか値を持たない型 public static Unit UNIT = Unit.VALUE; /** * HaskellのIO 'a型に相当 */ public interface IO<A> { /** * IOを「実行」して、A型の値を得る処理. * ユーザが直接呼び出すと参照
初めに 普段VimでMarkdownを書いていますが、<details>を多用することがたまにあります。 プレビュー画面ではちゃんと折りたたまれますが、Vim上では変わらず長いので、それを折りたたむ方法を紹介します。 やり方 foldmethodとfoldmarkerを使います。 :setl foldmethod=marker :setl foldmarker=<details>,</details> foldmethodは折りたたむ方法を指定するオプションです。 foldmarkerはfoldmethodがmarkerのときに、折りたたみの開始と終了を指定するオプションです。 今回は<details>が開始で、</details>が終了なのでそのように設定すればOKです。 まとめ <details>がたくさんある場合はぜひ試してみてください。だいぶ見やすくなると思います。
第1問 Promise化 JavaScriptの既存の非同期関数を Promise オブジェクトを返す関数として再定義することを Promise 化(Promisification)といいます。ここで、setTimeout を Promise 化してみます2。 リスト1は、2秒(2000ミリ秒)待って経過したミリ秒数を出力するコードです。正しければ、2000+α の値が出力されるはずです。ところが、出力(「----」以下)は1ミリ秒になってしまいます3。間違いを探してください 01: function wait(msec) { 02: return new Promise(resolve => 03: setTimeout(resolve(), msec)); 04: } 05: const start = new Date(); 06: wait(2000) 07: .then( con
最近はセキュリティログ解析などに取り組んでいます。何か面白そうな話題があればお声がけください。IIJ/IIJ-II技術研究所所属。 【IIJ 2021 TECHアドベントカレンダー 12/6(月)の記事です】 猫も杓子も深層学習と言っていた時代も一区切りついたように思います。画像処理の分野で一躍(再)注目を浴びた深層学習技術は、自然言語処理や囲碁ゲームなど、他の分野でもめざましい成果をあげました。 我々はインターネット界隈で活動していますが、それらの技術を自分たちの分野に活用できないかと検討をしたものです。何か今までできなかったようなすごいことが、深層学習を使ったら魔法のように実現するのではないか、と夢を見ていた時期もありました。もちろん、トップ研究者の方々がいろんな方面からインターネットへの深層学習の応用を試みて、素晴らしい成果が上がったことに間違いはないと思います。ただ、それらが今のネ
Photo by Lukas Tennie from unsplashはじめにこのエントリでは、僕が趣味で作っている PicoML という自作プログラミング言語の話を書こうと思う。 作ってから半年くらい経っているのだけれど、如何せん自作言語という無用の長物であり、登壇などでコイツの話をすることもないため、ある種の供養みたいなものだと思ってもらって構わない。 PicoML の概要まずは実装した言語の紹介から。ざっくり以下の特徴を備えた言語である。 ML ベースの文法による関数型言語単純 let 多相型推論による型チェックCLI として、Node.js 上での即時評価器(REPL)と WebAssembly をターゲットにしたコンパイラの双方を提供REPL やコンパイラの実装は TypeScript で行っている。自分の勉強が主目的であったため、REPL やコンパイラの CLI を動作させるの
DuckDB-Wasm is currently based on DuckDB v1.2.0. Relevant differences: HTTP stack is different between native and Wasm versions of DuckDB. Most relevant are: Requests are always upgraded to HTTPS Requests needs server to allow Cross Origin access on a given resource File system implementation (eg. S3) is different and this might cause some differences Extension install is lazy, meaning that INSTAL
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く